Я сделал настройку, в которой моя функция напрямую запускается в секции [Run]. Эта настройка запускает сценарий базы данных. Он работает нормально, но когда он завершается, он выдает «Невозможно выполнить файл: CreateProcress Failed», код 87. Параметр неверен ».Не удалось выполнить файл: CreateProcress Failed; Код 87. Paramete неверен
В чем причина этой ошибки и как ее исправить?
Мой Inno код:
[Files]
Source: "E:\SQLInstallTEST\Scripts\RCabSoft.sql"; DestDir: {app}; Flags: ignoreversion
[Run]
Filename: "{code:SqlScript}";
[Code]
function SqlScript(Value: string): string;
var
ResultCode: Integer;
OutputText: String;
begin
if FileExists(ExpandConstant('{pf32}\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\SSMS.exe')) then
begin
ExtractTemporaryFile('RCabSoft.sql');
// Execute SQL Update Scripts
Exec('SqlCmd.exe', ' -e -E -S .' + ExpandConstant(' -i "{app}\RCabSoft.sql"'), '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
MsgBox('Successful', mbInformation, MB_OK);
end;
end;
SnapShot:
Ваши параметры 'Exec' ошибочны. Чтобы понять, почему, добавьте объявление строковой переменной Temp и эти две строки кода: 'Temp: = '-e -E -S.' + ExpandConstant ('-i "{app} \ RCabSoft.sql"'); MsgBox (Temp, mbInformation, MB_OK); 'и проверьте, что отображается во всплывающем окне. –
Кроме того, здесь не подходит (или приемлемо) для вызова конкретного пользователя для получения справки. Это фактически не работает, если только этот пользователь не прокомментировал или не ответил на этот конкретный вопрос. Не помешайте сайту, сделав это. –
@KenWhite ... спасибо за точку ... я удалю комментарий –