C# 自解压Zip:使用.exe文件指定解压路径

C# 自解压Zip:使用.exe文件指定解压路径,c#,self-extracting,C#,Self Extracting,我正在为一个C#Winforms应用程序制定一个部署计划,并希望使用一个自解压的.zip文件来分发所有需要的文件。以下是SFX的文件结构: Setup.exe app.exe app2.exe readme.txt 手册.pdf 用户运行SFX后,我希望Setup.exe控制并将app.exe、app2.exe、readme.txt和manual.pdf复制到x位置。它们复制到的路径将取决于用户从Setup.exe的UI中所做的选择、系统属性等 我如何用C#编写Setup.exe 就我个人而言,

我正在为一个C#Winforms应用程序制定一个部署计划,并希望使用一个自解压的.zip文件来分发所有需要的文件。以下是SFX的文件结构:

Setup.exe
app.exe
app2.exe
readme.txt
手册.pdf

用户运行SFX后,我希望
Setup.exe
控制并将
app.exe
app2.exe
readme.txt
manual.pdf
复制到
x
位置。它们复制到的路径将取决于用户从
Setup.exe的UI中所做的选择、系统属性等


我如何用C#编写
Setup.exe

就我个人而言,我有很好的作为安装工具使用的经验。它比SFX多一点,但是使用起来非常好,非常灵活而且免费

因此,我建议您不要用C#(也称为“重新发明轮子”)编写自己的SFX,而应该使用真实世界的现有工具


当然有。

我同意,当已经有安装程序可用时,不要浪费时间编写安装程序。如果您出于任何原因选择自己编写一个,我建议您远离任何需要依赖关系的语言(例如,C#需要.Net运行时)。我建议使用C或C++,并使用静态链接打开,这样安装程序就越少越好。p> 我使用过的一些安装软件(按优先顺序):

  • -这是一个免费的脚本安装程序,拥有大量用户群,包括Firefox、DOSBox、7-Zip、Winamp,甚至Dropbox

  • -这是免费的,项目文件的设置更像是INI文件。总的来说,很容易使用,但功能不如NSIS丰富。有一个名为的可视化编辑器,使其更易于使用

  • -它与Visual Studio一起提供,并且运行良好。它创建一个MSI安装包


有关其他选项,请参阅维基百科上的文章。

您是否考虑过使用类似的工具而不是编写自己的安装程序?@Chris我希望我可以使用NSIS,但出于各种原因,它不是一个选项。