自解压Zip:使用.exe文件指定提取路径

3
我正在为一个C# Winforms应用程序撰写部署计划,希望使用自解压的.zip文件来分发所需的所有文件。以下是SFX的文件结构:
Setup.exe app.exe app2.exe readme.txt manual.pdf
用户运行SFX后,我希望Setup.exe控制并将app.exeapp2.exereadme.txtmanual.pdf复制到位置x。它们被复制到的路径将取决于用户从Setup.exe的UI中选择的选项、系统属性等。
我该如何使用C#编写Setup.exe

4
你考虑过使用类似于NSIS这样的工具制作安装程序,而不是自己编写吗? - Chris Heald
@Chris 我希望我能使用NSIS,但由于各种原因这不是一个选择。 - Sonic42
2个回答

3

就我个人而言,使用NSIS作为安装工具的经历非常良好。它不仅仅是一个自解压程序,而且易于使用、相当灵活且免费。

因此,我建议您不要使用C#编写自己的自解压程序(也就是“重复造轮子”),而是使用一些已经被证明在实际应用中可靠的现有工具。

当然,还有很多其他可用的安装程序


0

我同意,如果已经有可用的安装程序,请不要浪费时间编写自己的。如果出于某种原因您选择自己编写一个安装程序,我建议您避免使用需要依赖项的语言(例如C#需要.Net Runtime)。我建议使用C或C++并打开静态链接,使用/MT标志,以使您的安装程序尽可能少地依赖其他内容。

我使用过的一些安装软件(按偏好顺序):

  • Nullsoft Scriptable Install System (NSIS) 空声可脚本安装系统 - 这是一个免费的脚本安装程序,拥有大量用户,包括 Firefox、DOSBox、7-Zip、Winamp 甚至 Dropbox。

  • Inno Setup 无安装工具 - 这个工具是免费的,项目文件的设置更像是 INI 文件。总体来说,非常易于使用,但不如 NSIS 功能丰富。还有一个名为 ISTool 的可视化编辑器,使它更容易使用。

  • Visual Studio Installer / Microsoft Windows Installer Visual Studio 安装程序/微软 Windows 安装程序 - 它附带于 Visual Studio 中,并且运行得足够好。它创建了一个 MSI 安装包。

请参阅维基百科上的安装软件列表文章,以获取其他选项。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接