在InstallShield中通过certutil导入SSL证书



我有一个函数如下:

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(证书文件是由安装程序交付的,还是应该存在于目标计算机上?检查安装程序是否将其作为永久文件或支持文件(在[SUPPORTDIR]中(提供,或者该文件是否确实存在;2( 此自定义操作位于何处?通常,像这样的操作应该放在InstallFinalize之后。

最新更新