Показать полную графическую версию : [архив].: NSIS - все вопросы :.
wolkow70
24-12-2011, 10:58
то ставите себе,
к примеру 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.
Var SysDrive
Function .onInit
${If} ${RunningX64}
StrCpy $INSTDIR "$SysDrive\$PROGRAMFILES64\CCleaner"
${Else}
StrCpy $INSTDIR "$SysDrive\$PROGRAMFILES\CCleaner"
${EndIf}
StrCpy $SysDrive $WINDIR 2
FunctionEnd »
Можеш ставить $PROGRAMFILES64 потому как и для х86 и для х64 єто C:\Program Files, а вот уже в 64разрядной системе констатация $PROGRAMFILES и $PROGRAMFILES32 представляют папку C:\Program Files (x86).
А в реестре
так
${If} ${RunningX64}
SetShellVarContext all
SetRegView 64
;;;;;;;;;;ключи для х64
${Else}
SetShellVarContext all
SetRegView 32
;;;;;;;;;ключи для х86
${EndIf}
И не забудь подключить !include "x64.nsh"
тоесть тебе надо добавить SetRegView 64 или SetRegView 32
wolkow70
24-12-2011, 12:04
Можеш ставить $PROGRAMFILES64 потому как и для х86 и для х64 єто C:\Program Files, а вот уже в 64разрядной системе констатация $PROGRAMFILES и $PROGRAMFILES32 представляют папку C:\Program Files (x86). »
То есть, ты хочешь сказать, что для х86 $PROGRAMFILES64=$PROGRAMFILES?
Может это на практике и будет так интерпретировано, но все таки это не "комильфо".
Если соблюдать все тонкости, то в данном случае $INSTDIR отличается в зависимости от разрядности, тем более эта переменная используется по ходу всего скрипта, поэтому во избежание каких-либо накладок, лучше объявить ее по разному.
Еще я заметил, что в X64 распаковываются оба экзешника, и ccleaner.exe берет на себя часть функций, что следует из комманды cclaunch\shell\open\command" "" "$\"$INSTDIR\ccleaner.exe$\" /%1", в то время, как основным исполняемым файлом является CCleaner64.exe.
Я посмотрел твой скрипт, не могу понять, что это за ключ HKEY_LOCAL_MACHINE "SOFTWARE\Microsoft\Tracing\ccsetup314_RASAPI32"? Я у себя такого ключа не нашел.
${If} ${RunningX64}
SetShellVarContext all
SetRegView 64
;;;;;;;;;;ключи для х64
${Else}
SetShellVarContext all
SetRegView 32
;;;;;;;;;ключи для х86
${EndIf} »
Это понятно, мне не понятно какие из приведенных выше ключей предназначены для X64.
то по моему ключ по приоритету выполнения...дело в том что я ставил клинер на х86 и сканировал ключи, а потом ставил на х64 и сканировал ключи и соотвественно прописывал их в разные секции...
wolkow70
24-12-2011, 12:20
то по моему ключ по приоритету выполнения...дело в том что я ставил клинер на х86 и сканировал ключи, а потом ставил на х64 и сканировал ключи и соотвественно прописывал их в разные секции... »
Я тоже ставил на разные оси и сравнивал ключи.
На X86 только:
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"
На X64 все это:
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"
wolkow70
24-12-2011, 12:50
Я использую программы RegOrganizer и Registry WorkShop
В RegOrganizer делаю снимок изменений, а в Registry WorkShop просматриваю ключи и осуществляю экспорт их в рег-файлы, которые дальше конвертирую в Reg2NSIS.
Вот сами ключи:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cclaunch]
@="URL: CCleaner Protocol"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cclaunch\shell]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cclaunch\shell\open]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\cclaunch\shell\open\command]
@="\"F:\\Program Files\\CCleaner\\ccleaner.exe\" /%1"
===========================================================
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\cclaunch]
@="URL: CCleaner Protocol"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\cclaunch\shell]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\cclaunch\shell\open]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\cclaunch\shell\open\command]
@="\"F:\\Program Files\\CCleaner\\ccleaner.exe\" /%1"
===========================================================
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\cclaunch]
@="URL: CCleaner Protocol"
"URL Protocol"=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\cclaunch\shell]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\cclaunch\shell\open]
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\cclaunch\shell\open\command]
@="\"F:\\Program Files\\CCleaner\\ccleaner.exe\" /%1"
А я использовал Regshot, мож потому...
kotkovets подскажи как сделать что бы иконка проги отображалась в панели управление программы?
где то видел статью но теперь не могу найти
kotkovets
24-12-2011, 14:02
StrCpy $INSTDIR "$SysDrive\$PROGRAMFILES64\CCleaner" »
Бред!!! получится, что так:
$INSTDIR = С:\C:\Program Files\CCleaner :o
InstallDir помещает свое значение в переменную $INSTDIR
Это понятно, мне не понятно какие из приведенных выше ключей предназначены для X64. »
Реестр 64-разрядных версий Windows подразделяется на 32- и 64-разрядные разделы. Большинство 32-разрядных разделов имеют те же имена, что и их аналоги в 64-разрядном разделе, и наоборот. По умолчанию редактор реестра 64-разрядных версий Windows отображает 32-разрядные разделы в разделе HKEY_LOCAL_MACHINE\Software\WOW6432Node
В комплекте поставки Windows XP 64-bit Edition имеются две версии Редактора реестра:
одна, запускаемая по умолчанию, демонстрирует только 64-битный раздел реестра Windows XP,
другая предназначена для редактирования 32-разрядного раздела.
Естественно 64-битную программу система "заставляет" использовать по умолчанию 64-разрядный реестр
и 32-битные программы использовать по умолчанию 32-разрядный реестр.
установщик NSIS в х64 - это 32-разрядный процесс, а значит по умолчанию вид (SetRegView 32)
Использование (SetRegView 64) позволяет инсталлятору NSIS использовать доступ к 64-разрядному виду реестра.
как сделать что бы иконка проги отображалась в панели управление программы? »
Смотрите ключи в ветке:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel
kotkovets,
diakov, Да все так же, когда страница финиша открывается...
Если портативка, то $Radio=1, а в хедере NSIS\Contrib\Modern UI 2\Pages\Finish.nsh объявлена
переменная $mui.FinishPage.Run - это хэндл чекбокса, а раз есть хэндл делаем с контролом почти все, что захотим...
Код:
!define MUI_PAGE_CUSTOMFUNCTION_SHOW SHOW_FINISH
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"
Function SHOW_FINISH
${If} $Radio1 == 1
ShowWindow $mui.FinishPage.Run 0 ;скрываем чекбокс
${NSD_SetState} $mui.FinishPage.Run 0 ;и делаем чекбокс неотмеченным
${EndIf}
FunctionEnd »
Чето не получается мож что не так вылазить две страницы финиша
kotkovets
24-12-2011, 14:23
Чето не получается мож что не так вылазить две страницы финиша »
Потому что, у вас 2 записи странички финиша: !insertmacro MUI_PAGE_FINISH
Уберите одну запись.
Смотрите ключи в ветке:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Control Panel »
kotkovets,, наверное неправильно понял или я так обьяснил))
Что бы установленный мною репак отображался в установка и удаление программ, или вот скажем в рево юнинсталер не видит мого установленого репака.
Потому что, у вас 2 записи странички финиша: !insertmacro MUI_PAGE_FINISH
Уберите одну запись. »
А что бы появился чекбокс запустить например ссклинер в фцию
Function SHOW_FINISH
${If} $Radio1 == 1
ShowWindow $mui.FinishPage.Run 0 ;скрываем чекбокс
${NSD_SetState} $mui.FinishPage.Run 0 ;и делаем чекбокс неотмеченным
${EndIf}
${If} $Radio == 1
ShowWindow $mui.FinishPage.Run 1 ;скрываем чекбокс
${NSD_SetState} $mui.FinishPage.Run 1 ;и делаем чекбокс неотмеченным
${EndIf}
FunctionEnd
надо дописать
${If} $Radio == 1
ShowWindow $mui.FinishPage.Run 1
${NSD_SetState} $mui.FinishPage.Run 1
${EndIf}
или как его там нарисовать)) Чето я туплю :durak:
kotkovets
24-12-2011, 14:36
Что бы установленный мною репак отображался в установка и удаление программ »
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Название программы" "DisplayName" "Название программы"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Название программы" "UninstallPath" "Путь к папке программы"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Название программы" "UninstallString" "Путь к деинсталлятору программы"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Название программы" "DisplayIcon" "Путь к исполняемому файлу программы"
Естественно в ключи подставляете свои данные программы.
А что бы появился чекбокс запустить например ссклинер в фцию »
Что это за вопрос и как его понять, изъясняйтесь понятнее!
wolkow70
24-12-2011, 14:52
Бред!!! получится, что так:
$INSTDIR = С:\C:\Program Files\CCleaner
InstallDir помещает свое значение в переменную $INSTDIR »
Согласен, что бред (скопировал где-то не подумав).
;
Function .onInit
${If} ${RunningX64}
StrCpy $INSTDIR "$PROGRAMFILES64\CCleaner"
${Else}
StrCpy $INSTDIR "$PROGRAMFILES\CCleaner"
${EndIf}
FunctionEnd
InstallDir помещает свое значение в переменную $INSTDIR
Это понятно, поэтому и удаляем строку
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
ТАК?
kotkovets
24-12-2011, 14:55
ТАК? »
так
Можно и так:
InstallDir "$PROGRAMFILES64\${PRODUCT_NAME}"
А как сделать что бы после установки на MUI_PAGE_FINISH стояла галка запустить программу, а если распаковывалась портабл весрия то что бы галки не было?
http://s44.radikal.ru/i106/1112/4a/43e5e187efe2.jpg
Если $Radio == 1 установка обычной версии и есть галка запустить
Если $Radio1 == 1 распаковка портабла и тогда нет галки запустить на MUI_PAGE_FINISH
kotkovets
24-12-2011, 15:09
А как сделать что бы после установки на MUI_PAGE_FINISH стояла галка запустить программу, а если распаковывалась портабл весрия то что бы галки не было? »
Function SHOW_FINISH
${If} $Radio1 == 1
${NSD_SetState} $mui.FinishPage.Run 0 ;и делаем чекбокс неотмеченным
ShowWindow $mui.FinishPage.Run 0 ;скрываем чекбокс из ввиду
${EndIf}
FunctionEnd
И больше ничего не нужно писать в этой функции, код будет выполняться, если
распаковывалась портабл весрия то что бы галки не было »
Все заработало :)
Я олень просто !define MUI_FINISHPAGE_RUN "$INSTDIR\ххххххххх.exe" не вставил! :sorry:
Спасибо!
wolkow70
24-12-2011, 15:30
как сделать что бы иконка проги отображалась в панели управление программы?
где то видел статью но теперь не могу найти »
Иногда нужно еще, чтобы это было отмечено в файле настроек программы и имелась в реестре ссылка на CLSID
Например, для AIDA64 :
Section "Показывать Aida64 в Панели управления" ControlPanel
SetOutPath "$INSTDIR"
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}" "" "AIDA64 Extreme Edition"
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}" "InfoTip" "System diagnostics and benchmarking"
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}" "System.ApplicationName" "FinalWire.AIDA64"
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}" "System.ControlPanel.Category" "2,5,8"
WriteRegDWORD HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}" "System.ControlPanel.EnableInSafeMode" 0x3
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}\DefaultIcon" "" "$INSTDIR\aida64.exe,0"
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}\Shell" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}\Shell\Open" "" ""
WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{185110B9-387D-435D-A165-829D17C583B8}\Shell\Open\Command" "" "$INSTDIR\aida64.exe"
;
WriteRegStr HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{185110B9-387D-435D-A165-829D17C583B8}" "" "AIDA64 Extreme Edition"
;
WriteINIStr "$INSTDIR\aida64.ini" "Generic" "ControlPanelIcon" "1"
SectionEnd
Уважаемый kotkovets, такой вопрос! Берусь за перепаковку AIMP 3.00 Build 970 RC 3 , хочу добавить ассоциацию файлов и что бы они открывались уже аимпом, потому как в стандартном инсталляторе такого нет)
Так вот правильно ли так будет??
!macro RegisterExtension extenstion
; например для .mp3
WriteRegStr HKLM "Software\Classes\.mp3" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aipm.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aipm.File\DefaultIcon" "" "$INSTDIR\Aipm.exe,1"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell" "" "Play"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Play" "" "&Play in Aimp"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Play\command" "" "$\"$INSTDIR\Aipm.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\open\command" "" "$\"$INSTDIR\Aipm.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\ListBookmark" "" "Add to Aipm's &Bookmark list"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\ListBookmark\command" "" "$\"$INSTDIR\Aipm.exe$\"/BOOKMARK $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Enqueue" "" "&Enqueue in Aipm"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Enqueue\command" "" "$\"$INSTDIR\Aipm.exe$\"/ADD $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\UserChoice" "Progid" "Aimp.File"
;потом например для .wav
WriteRegStr HKLM "Software\Classes\.wav" "" "Aimp.File"
WriteRegStr HKLM "Software\Classes\Aipm.File" "" "Aimp Media File"
WriteRegStr HKLM "Software\Classes\Aipm.File\DefaultIcon" "" "$INSTDIR\Aimp.exe,1"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell" "" "Play"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Play" "" "&Play in Aipm"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Play\command" "" "$\"$INSTDIR\Aipm.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\open\command" "" "$\"$INSTDIR\Aipm.exe$\" $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\ListBookmark" "" "Add to Aipm's &Bookmark list"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\ListBookmark\command" "" "$\"$INSTDIR\Aipm.exe$\"/BOOKMARK $\"%1$\""
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Enqueue" "" "&Enqueue in Aipm"
WriteRegStr HKLM "Software\Classes\Aipm.File\shell\Enqueue\command" "" "$\"$INSTDIR\Aipm.exe$\"/ADD $\"%1$\""
; ставим приложением по умолчанию для текущего пользователя
DeleteRegKey HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav\UserChoice"
WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav\UserChoice" "Progid" "Aipm.File"
!macroend
тоесть писать так для всех .CDA, .AAC, .AC3, .APE, .DTS, .FLAC, .IT, .MIDI, .MO3, .MOD, .M4A, .M4B, .MP1, .MP2, .MP3,
.MPC, .MTM, .OFR, .OGG, .RMI, .S3M, .SPX, .TAK, .TTA, .UMX, .WAV, .WMA, .WV, .XM
и хочу чтобы был чекбокс Установить ассоциации для аудио файлов, тоесть пользователь мог выбрать ассоциировать или просто установить аимп...
то делать так:
Section "ассоциации для аудио файлов"
${If} $Check == 1
SetShellVarContext all
!insertmacro RegisterExtension
${EndIf}
Так правильно будет?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC