У меня есть скрипт 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, поэтому мне пришлось создать командный файл для его запуска. Когда я запускаю этот установщик, открывается это окно:

Изображение панели управления

Похоже, это почти работает. Он открывает панель управления и создает множество ассоциаций файлов, но не тех, которые имеют значение.

Когда я запускаю скрипт нормально (даже командный файл), он работает просто отлично. Я не могу думать ни о чем, что установщик изменил бы, что заставило бы это работать только частично.

Есть ли что-то, что мне не хватает, чтобы сделать эту работу? Или есть другой подход, который я мог бы использовать?

0