Цитата diakov:
например при S/port распаковывалась портативная версия »
|
Все достаточно просто, условие портативной установки, если $Radio = 1, а если в тихом режиме
устанавливать значение $Radio = 1, то условие распаковки будет выполнено..
и заодно парсить командную строку инсталлятора
Читайте в оригинальной справке - поиск по индексу
GetOptions
читать дальше »
Код:
!include "MUI2.nsh"
!include "FileFunc.nsh"
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
OutFile "test.exe"
var Radio
var Radio1
Function .OnInit
ClearErrors
${GetOptions} "$CMDLINE" "/port" $R0
${If} ${Silent} ;если тихий режим
${IfNot} ${Errors}
;здесь будет код выполняться с ключом /port в тихом режиме
StrCpy $Radio1 1 ;распаковка портативной версии
StrCpy $Radio 0 ;запрет установки в обычном режиме
${Else}
;здесь будет код выполняться в тихом режиме без ключей (по умолчанию)
StrCpy $Radio1 0 ;запрет портативной версии
StrCpy $Radio 1 ;установка в обычном режиме
${EndIf}
${Else}
ClearErrors
${EndIf}
FunctionEnd
Section ""
${If} $Radio == 1
MessageBox MB_OK "Обычная установка в тихую" IDOK
${ElseIf} $Radio1 == 1
MessageBox MB_OK "Портативка установка в тихую" IDOK
${Else}
MessageBox MB_OK "Обычная установка" IDOK
${EndIf}
SectionEnd
Цитата wolkow70:
а что поправить для совместимости с реестром 64 »
|
В данный момент у меня нет под рукой х64, читайте выше мои сообщения.
Если программа 64-битная, то следовательно ей нужен доступ к 64-разрядному виду реестра,
что достигается командой SetRegView 64 - смотрите справки,
а также редирект на папки 64-битных программ - смотрите хедер х64.nsh