InstallScript:LaunchAppAndWait问题是32位?

时间:2013-07-22 10:42:55

标签: windows dll installshield 32-bit installscript

我已经构建了一个shell扩展dll,它用于显示64和16的右键上下文菜单。 32位。我在安装期间使用LaunchAppAndWait函数在installscript中注册dll。

它适用于64位机器,但不适用于32位机器。

if (SYSINFO.bIsWow64 ) then
    LaunchAppAndWait("", "regsvr32.exe /s " + TARGETDIR ^ "\\bin\\x64\\test.dll"  , LAAW_OPTION_WAIT);  
else
    LaunchAppAndWait("", "regsvr32.exe /s " + TARGETDIR ^ "\\bin\\test.dll"  , LAAW_OPTION_WAIT);  
endif;

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

找到问题所在。通过对命令行执行LongPathToQuote,arg解决了问题。

dllPath = "/s " +TARGETDIR ^ "\\bin\\win32\\test.dll";
LongPathToQuote(dllPath,TRUE);
LaunchAppAndWait("regsvr32.exe", dllPath, LAAW_OPTION_WAIT);