Импортируйте сертификат SSL с помощью certutil в InstallShield - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть функция, как показано ниже:

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 Ответ

0 голосов
/ 16 ноября 2018

Решение проблемы будет зависеть от следующего: 1) Доставляется ли файл сертификата установщиком или он должен присутствовать на целевом компьютере?Убедитесь, что установщик доставляет его как постоянный файл или файл поддержки (в [SUPPORTDIR]) или файл действительно существует;2) где находится это настраиваемое действие?Обычно такие действия следует размещать после InstallFinalize.

...