我已经构建了一个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;
有人遇到过这个问题吗?
答案 0 :(得分:0)
找到问题所在。通过对命令行执行LongPathToQuote,arg解决了问题。
dllPath = "/s " +TARGETDIR ^ "\\bin\\win32\\test.dll";
LongPathToQuote(dllPath,TRUE);
LaunchAppAndWait("regsvr32.exe", dllPath, LAAW_OPTION_WAIT);