Windows InstallScript:32位的LaunchAppAndWait问题?

Windows InstallScript:32位的LaunchAppAndWait问题?,windows,dll,installshield,32-bit,installscript,Windows,Dll,Installshield,32 Bit,Installscript,我构建了一个shell扩展dll,用于显示64位和32位的右键单击上下文菜单。在安装过程中,我使用LaunchAppAndWait函数在installscript中注册dll 它在64位机器上运行良好,但在32位机器上则不行 if (SYSINFO.bIsWow64 ) then LaunchAppAndWait("", "regsvr32.exe /s " + TARGETDIR ^ "\\bin\\x64\\test.dll" , LAAW_OPTION_WAIT); else

我构建了一个shell扩展dll,用于显示64位和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;

有人遇到过这个问题吗?

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

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