Импортируйте SSL-сертификат по certutil в InstallShield
У меня есть функция, как показано ниже:
function LONG ImportSSL(hMSI)
STRING exeDir;
STRING sslDir;
NUMBER nvSize;
LONG ret;
begin
nvSize = 256;
MsiGetProperty (hMSI, "SETUPEXEDIR", exeDir, nvSize);
sslDir = exeDir ^ "ssl\\myCertificate.pfx";
ret = LaunchAppAndWait(WINDIR, "certutil -f -p \"\" -importpfx \"" + sslDir + "\"", WAIT);
if (ret != 0) then return ret; endif;
return 0;
end;
запустив Setup.exe
как показано ниже:
MySetup.exe /v"/l*v c:\SetupLog.log"
Я вижу ниже ошибку в файле журнала:
CustomAction ImportSSL вернул фактический код ошибки 1603 (обратите внимание, что это может быть не на 100% точно, если перевод произошел внутри песочницы) Действие завершено 16:25:25: ImportSSL. Возвращаемое значение 3.
но когда я выполню certutil -f -p "" -importpfx "C:\myCertificate.pfx"
По командной строке ошибки нет, и этот сертификат импортируется в IIS.
Как я могу узнать подробности ошибки?
Любая помощь будет по достоинству оценена.
1 ответ
Решение проблемы будет зависеть от следующего: 1) Доставляется ли файл сертификата установщиком или он должен присутствовать на целевом компьютере? Убедитесь, что установщик доставляет его как постоянный файл или файл поддержки (в [SUPPORTDIR]) или файл действительно существует; 2) где находится это настраиваемое действие? Обычно такие действия следует размещать после InstallFinalize.