1

我想以自解压可执行形式分发设置。我想打包 32 位和 64 窗口的版本。所以我有一个程序,它首先检查正在运行的 Windows 操作系统的版本,然后启动正确的程序。所以我有一个这样的目录结构

DetermineOS.exe
Win32\Win32Setup.exe
Win32\supporting win32 files
Win64\Win64Setup.exe
Win64\Supporting win64 files

我想将它们打包成一个名为 install.exe 的包。当用户单击 install.exe 时,它​​会将此目录结构提取到临时位置并启动确定 OS.exe,然后它将启动正确的 setup.exe

NSIS 会是最简单的方法吗?这会是一个复杂的 NSIS 脚本吗?谢谢。

4

2 回答 2

1

在我看来,您唯一想要摆脱的就是提取到 %TEMP% 位置并运行某个 exe 文件。如果是这样的话,我不确定 NSIS 是不是最简单的方法。大多数档案支持自提取并在提取完成时运行命令。例如,WinRAR 和 7z 就有这样的模块。我的直觉是这个选项似乎比 NSIS 更容易。

不同的引导程序也支持这种情况。例如,Visual Studio 引导程序dotNetInstaller。我最近用 dotNetInstaller 写了一篇关于这个最简单案例的博客

希望这可以帮助。

于 2011-02-17T20:19:47.073 回答
0

您可以将不同的映像(可执行文件)放在“根”映像中,并根据需要提取并运行适当的映像(许多Sysinternals工具都这样做 - 例如,“根”应用程序嵌入了 32 位和 64 位驱动程序)。

于 2012-05-10T21:33:34.463 回答