Имам изграден DLL разширение на обвивката, което се използва за показване на контекстното меню с десен бутон за 64 и 32 бита. Аз съм регистриране на DLL в installscript по време на инсталацията с помощта на LaunchAppAndWait функция.
Работи добре за 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 за отговор № 1Открих къде е проблемът. Правейки LongPathToQuote за командния ред, аргът реши проблема.
dllPath = "/s " +TARGETDIR ^ "\bin\win32\test.dll";
LongPathToQuote(dllPath,TRUE);
LaunchAppAndWait("regsvr32.exe", dllPath, LAAW_OPTION_WAIT);