У меня есть скрипт VBS, который я украл отсюда, чтобы установить Google Chrome в качестве браузера по умолчанию. Я пытаюсь добавить это как шаг в установщике. Я использую Windows 10 и NSIS v3.3. Вот мой сценарий NSIS:
!include "MUI2.nsh"
Name "Name"
Outfile "NameInstaller.exe"
RequestExecutionLevel admin
!define MUI_FINISHPAGE_TITLE "Title"
!define MUI_FINISHPAGE_TEXT "Lorem Ipsum"
InstallDir "$PROGRAMFILES\Name"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
; Dependencies that are installed with their default options. Super simple
Section "DefaultDeps" SecDefaultDeps
SetOutPath "$INSTDIR"
; Here I have a bunch of files that are being copied
SectionEnd
; Administration changes
Section "Admin" SecAdmin
SetOutPath $INSTDIR
; Set Google Chrome as default browser
File "C:\path\to\set_chrome_as_default.vbs"
FileOpen $0 "$INSTDIR\set_chrome_as_default.bat" w
FileWrite $0 '"$INSTDIR\set_chrome_as_default.vbs"'
FileClose $0
Exec '"$INSTDIR\set_chrome_as_default.bat"'
SectionEnd
!insertmacro MUI_PAGE_FINISH
Я не мог заставить его запустить скрипт VBS, поэтому мне пришлось создать командный файл для его запуска. Когда я запускаю этот установщик, открывается это окно:
Похоже, это почти работает. Он открывает панель управления и создает множество ассоциаций файлов, но не тех, которые имеют значение.
Когда я запускаю скрипт нормально (даже командный файл), он работает просто отлично. Я не могу думать ни о чем, что установщик изменил бы, что заставило бы это работать только частично.
Есть ли что-то, что мне не хватает, чтобы сделать эту работу? Или есть другой подход, который я мог бы использовать?