Ошибка NSIS: неверный скрипт: никогда не было команды OutFile

Я пытаюсь изучить NSIS для создания установщика и деинсталлятора для проекта, и я пытаюсь следовать примерам в разделе учебника. Я попробовал следующий скрипт: -

# define the name of the installer
outfile "installer.exe"

# define the directory to install to, the desktop in this case as specified  
# by the predefined $DESKTOP variable
installDir $DESKTOP\Harshit\NSIS\Scripts

# default section
section

# define the output path for this file
setOutPath $DESKTOP\Harshit\NSIS\Files

# define what to install and place it in the output path
File test1.txt

# define uninstaller name
writeUninstaller $DESKTOP\Harshit\NSIS\Scripts\uninstaller.exe

sectionEnd

# create a section to define what the uninstaller does.
# the section will always be named "Uninstall"
section "Uninstall"

# Always delete uninstaller first
delete $DESKTOP\Harshit\NSIS\Scripts\uninstaller.exe

# now delete installed file
delete $DESKTOP\Harshit\NSIS\Scripts\Files\test1.txt

sectionEnd

Однако я получаю сообщение об ошибке:

неверный скрипт: никогда не было команды OutFile.

Я вижу команду outfile вверху, но не могу понять, почему она не работает. Любые советы, пожалуйста?


person user1439090    schedule 18.03.2013    source источник
comment
Это происходит, когда ваш файл .nsi имеет окончания строки CR. Попробуйте mac2dos.exe или mac2unix.exe, затем unix2dos.exe ваш .nsi, а затем перекомпилируйте.   -  person Hernán    schedule 13.09.2019


Ответы (1)


Может ли быть так же просто, как если бы вы работали с одним файлом .nsi и фактически передавали компилятору другой файл .nsi?

Вы можете добавить !error "Hello World" или что-то подобное в начало вашего скрипта, чтобы узнать...

Изменить:

Если он не может открыть выходной файл для записи, сообщение об ошибке должно быть «Не удается открыть выходной файл» и не относиться к OutFile.

Если вы не передаете сценарий с помощью стандартного ввода, он должен выбрать имя файла .nsi в качестве базового имени, даже если вы вообще не используете OutFile.

Не могли бы вы показать, как использовать точные параметры, которые вы передаете в makensis.exe, и копию вашего реального скрипта?

person Anders    schedule 18.03.2013
comment
Нет. Я проверил еще раз. Я передаю правильный файл компилятору. Однако после добавления строк он отображает имя файла !error, а затем показывает ту же ошибку. Я также изменил права доступа к папке, чтобы все пользователи могли писать в папку. - person user1439090; 18.03.2013