Ошибка при попытке чтения файла .ini из сценария .nsi

Мне нужно написать сценарий NSIS для развертывания отчета на сервере. Он отлично работает, когда я использую localhost.

Теперь я хочу отправить этот пакет своему клиенту, но проблема в том, что я не знаю IP-адрес СЕРВЕРА клиента, для этого мне нужно написать файл .ini. Содержимое ini-файла

DeployReport.ini

[SETTINGS]
ServerIp=localhost
UserName=
PassWord= 

DeployReport.nsi

# Script generated by DeepSofts - NSIS Script Generator
# Beginning Basic Section Script ...

Name 'DeployReport'
Icon 'modern-install-full.ico'
OutFile 'DeployReport.exe'
SilentInstall Normal
CRCCheck On

Section GetIP 0
ReadINIStr $ip "DeployReport.ini" "SETTINGS" "ServerIp"
MessageBox MB_OK "$ip"
SectionEnd    

Section Command 1
Exec '"C:\Program Files\Microsoft SQL Server\90\Tools\Binn\rs.exe" -i PublishSampleReports.rss -s http://localhost/reportserver"'
SectionEnd


ComponentText 'A few details about the application that you have created'

AutoCloseWindow True

SetCompress Auto
SetDateSave On
SetDataBlockOptimize On

Проблема в том, что сценарий DeployReport.nsi работает нормально, пока я не использую Раздел GetIP 0 и не могу найти ошибку в сценарии.


person vikky    schedule 01.05.2013    source источник
comment
По вашему описанию очень сложно понять, в чем проблема. Вы получаете ошибку компилятора?   -  person Anders    schedule 02.05.2013
comment
Где именно находится ваш файл .ini? Если он находится на целевом компьютере, вы должны использовать целевой путь: $ INSTDIR \ DeployReport.ini для функции ReadINIStr   -  person Slappy    schedule 08.05.2013
comment
Нет, файл .ini - это текущий рабочий каталог ..   -  person vikky    schedule 08.05.2013


Ответы (1)


Вы должны использовать полный путь к .ini ("$exedir\DeployReport.ini")

person Anders    schedule 01.05.2013