Eu construí um dll de extensão de shell que é usado para mostrar o menu de contexto do botão direito para ambos os 64 e 32 bits. Estou registrando a dll no installscript durante a instalação usando a função LaunchAppAndWait.
Ele está funcionando bem para máquinas de 64 bits, mas não para máquinas de 32 bits.
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;
Alguém se depara com este problema?
Respostas:
0 para resposta № 1Encontrado onde está o problema. Ao fazer LongPathToQuote para a linha de comando arg resolveu o problema.
dllPath = "/s " +TARGETDIR ^ "\bin\win32\test.dll";
LongPathToQuote(dllPath,TRUE);
LaunchAppAndWait("regsvr32.exe", dllPath, LAAW_OPTION_WAIT);