0

我有一个功能如下:

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。

我怎样才能知道错误的详细信息?

任何帮助将不胜感激。

4

1 回答 1

0

问题解决方案将取决于以下几点:1)证书文件是由安装程序交付的,还是应该存在于目标机器上?检查安装程序是否将其作为永久文件或支持文件(在 [SUPPORTDIR] 中)提供,或者该文件是否确实存在;2) 此自定义操作位于何处?通常这样的操作应该放在 InstallFinalize 之后。

于 2018-11-16T16:40:02.170 回答