我正在使用NSIS创建一个应用程序安装程序,它包含多个程序安装文件,主要是.exe和.msi文件。
现在我遇到的问题是我有一个非常旧的安装文件,只有在我将兼容性设置为Windows ME / 98时才能正常工作。通常,运行安装的用户无法以兼容模式运行整个安装包。
NSIS中是否有命令在特定的兼容模式下执行这样的子设置?
答案 0 :(得分:2)
您可以将__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)'