Цитата kotkovets:
то ставите себе,
к примеру x32 и параллельно x64 - появится меню выбора меню загрузки ОС. »
|
Поставил себе XPX64 Edition. Для эксперементов с инсталляторами ее хватит?
Сразу возникли вопросы:
Если я инициализирую папку программы:
Var SysDrive
Function .onInit
${If} ${RunningX64}
StrCpy $INSTDIR "$SysDrive\$PROGRAMFILES64\CCleaner"
${Else}
StrCpy $INSTDIR "$SysDrive\$PROGRAMFILES\CCleaner"
${EndIf}
StrCpy $SysDrive $WINDIR 2
FunctionEnd
то строка
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" не нужна или она просто не будет выполняться в этом случае?
Еще у меня после снятия снимков реестра получилается такая конструкция
:
Код:

${If} ${RunningX64}
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch" "" "URL: CCleaner Protocol"
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch" "URL Protocol" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell\open" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell\open\command" "" "$\"$INSTDIR\CCleaner.exe$\" /%1"
;
WriteRegStr HKLM "SOFTWARE\Classes\Wow6432Node\cclaunch" "" "URL: CCleaner Protocol"
WriteRegStr HKLM "SOFTWARE\Classes\Wow6432Node\cclaunch" "URL Protocol" ""
WriteRegStr HKLM "SOFTWARE\Classes\Wow6432Node\cclaunch\shell" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\Wow6432Node\cclaunch\shell\open" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\Wow6432Node\cclaunch\shell\open\command" "" "$\"$INSTDIR\CCleaner.exe$\" /%1"
;
WriteRegStr HKLM "SOFTWARE\Wow6432Node\Classes\cclaunch" "" "URL: CCleaner Protocol"
WriteRegStr HKLM "SOFTWARE\Wow6432Node\Classes\cclaunch" "URL Protocol" ""
WriteRegStr HKLM "SOFTWARE\Wow6432Node\Classes\cclaunch\shell" "" ""
WriteRegStr HKLM "SOFTWARE\Wow6432Node\Classes\cclaunch\shell\open" "" ""
WriteRegStr HKLM "SOFTWARE\Wow6432Node\Classes\cclaunch\shell\open\command" "" "$\"$INSTDIR\CCleaner.exe$\" /%1"
${Else}
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch" "" "URL: CCleaner Protocol"
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch" "URL Protocol" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell\open" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\cclaunch\shell\open\command" "" "$\"$INSTDIR\ccleaner.exe$\" /%1"
${EndIf}
Это правильно, или по другому надо делать? Мне просто один раз разобраться нужно с X64.