2012-11-27 29 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