Я написал скрипт для установки Node.js, запуска скрипта оболочки и службы Windows с помощью Inno Setup. Я создал установку. После установки моя установка Node.js успешно устанавливается.
[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{app}\nodejs\node-v8.11.1-x64.msi""";
Сценарии оболочки работают успешно.
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
ReturnCode: Boolean;
begin
ExtractTemporaryFile('Add-AppDevPackage.ps1');
ReturnCode :=
ShellExec('open', '"PowerShell"',
ExpandConstant(' -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -WindowStyle Hidden -File "{app}\setup\Add-AppDevPackage.ps1"'),
'', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);
if (ReturnCode = False) then
MsgBox('Message about problem. Error code: ' + IntToStr(ErrorCode) + ' ' + SysErrorMessage(ErrorCode),
mbInformation, MB_OK);
end;
Но когда я пытаюсь запустить службу Windows, которая является файлом .js (installservice.js
), я получаю сообщение об ошибке типа
Невозможно запустить узел. Не удалось создать процесс code2.
Код, используемый для запуска узла:
[Run]
Filename: "node"; Parameters: "installservice.js"; WorkingDir: "{app}\nodepath"; \
Flags: nowait postinstall skipifsilent runascurrentuser; AfterInstall: MsbShow;
И я также обнаружил, что , если Node JS уже установлен на машине, тогда служба Windows устанавливается и отлично работает . Я не знаю, где ошибка. Я даже пытался запустить службу Windows после установки, но проблема не исчезла. Можете ли вы направить меня в этом процессе?