Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 创建软件安装程序_C#_.net_Winforms_Installation - Fatal编程技术网

C# 创建软件安装程序

C# 创建软件安装程序,c#,.net,winforms,installation,C#,.net,Winforms,Installation,长话短说,我需要重新发明轮子。现在这已经不成问题了 我正在编写一个应用程序,允许你为你的软件创建自己的安装程序。我已经有了用户界面,可以让你定制所有东西,但我在最后一部分遇到了麻烦。我需要将您的所有文件打包到一个可执行文件中,以便将其作为一个安装文件分发。我找不到任何关于这方面的信息,我想知道是否有人有过这方面的经验,你是否可以分享一些关于创建单个可执行文件的正确方法的指针或提示,当运行时,启动“安装程序应用程序”,然后负责解包打包的文件并“安装”将它们放在正确的位置?这就是为什么,您不会找到比

长话短说,我需要重新发明轮子。现在这已经不成问题了

我正在编写一个应用程序,允许你为你的软件创建自己的安装程序。我已经有了用户界面,可以让你定制所有东西,但我在最后一部分遇到了麻烦。我需要将您的所有文件打包到一个可执行文件中,以便将其作为一个安装文件分发。我找不到任何关于这方面的信息,我想知道是否有人有过这方面的经验,你是否可以分享一些关于创建单个可执行文件的正确方法的指针或提示,当运行时,启动“安装程序应用程序”,然后负责解包打包的文件并“安装”将它们放在正确的位置?

这就是为什么,您不会找到比MSDN更好的资源。您也可以使用已经存在多年的第三方。有相当广泛的文档/教程

您尝试过ILMerge吗


我没有用它来构建安装程序,但我用这个工具生成了一个包含多个DDL和exe的exe。

只需要一个安装程序。您可以将一个大的二进制blob(表示一个zip文件)作为资源嵌入到程序中。运行时,程序只需从内存中获取blob,并将其保存为.zip文件,保存在磁盘上的临时文件夹中

然后,程序解压缩文件并启动安装过程。有各种开源的.NET zip库可以执行解压步骤


对于安装过程,将文件复制到安装位置可能需要管理员权限,并且您需要确保每个已安装的文件都以正确的权限保存。

虽然我一直建议避免重新设计轮子(只有当有人想添加曲目时才有用一次;),您可能希望沿着自解压的zip路线走下去。请参阅@Ananke感谢您的链接!你说添加曲目是什么意思?哦!哈哈,我明白了。