2012-11-27 34 views
0

我正在使用NSIS創建一個由多個程序安裝文件組成的應用程序安裝程序,主要是.exe和.msi文件。NSIS:以兼容模式運行安裝的子文件

現在我有一個問題,我有一個非常舊的安裝文件,只有在將兼容性設置爲Windows ME/98時才能正常工作。通常,運行安裝的用戶無法以兼容模式運行整個安裝包。

在NSIS中是否有命令在特定的兼容模式下執行這樣的子設置?

回答

1

您可以設置__COMPAT_LAYER到Win98的:

System::Call 'Kernel32::SetEnvironmentVariable(t "__COMPAT_LAYER", t "Win98")' 
ExecWait '"$instdir\foo.exe"' 
System::Call 'Kernel32::SetEnvironmentVariable(t "__COMPAT_LAYER", i 0)' 
+0

似乎是正是我需要的。謝謝! – Corsair