如何发布C#可执行文件?

时间:2016-05-13 13:32:20

标签: c# visual-studio visual-studio-2015 exe

我使用Visual Studio 2015完成了我的第一个相对简单的C#项目。现在是时候发布了它。

最好的选择是独立的exe。那是理想的!

但是在我失去希望实现这一目标后,我觉得安装人员感觉还可以。 VS甚至提供了这种可能性,但它根本不起作用。我可以运行setup.exe,但不能运行.application文件。我尝试了很多东西,但它不起作用。

在1-2周后,我能想到的唯一解决方案是将Release或Debug目录发布为zip并告诉用户将其解压缩到某处并创建指向.exe文件的链接。但即使这样也行不通!看起来该文件不仅依赖于当前文件夹中的文件,还依赖于父目录!现在唯一的解决方案是拉链整个视觉工作室项目!

我不知道为什么所有解决方案都不适合我。我的项目并不复杂,我只是想要以某种方式发布它:(

3 个答案:

答案 0 :(得分:6)

  

但是在我失去希望实现这一目标后,我觉得安装人员感觉还可以。

为什么呢?很容易。即使DLL只是拉链 - 我有很多低预算的游戏,作为一个zip文件。

  

VS甚至为此提供了可能性,

不,它没有。只有极其过时的版本才能做到这一点。 VS安装程序项目已停用。 WIX工具集是现在的发展方式 - 在谷歌上查看。

  

1-2周后,我能想到的唯一解决方案

我建议您使用Windows Installer。 Office和Visual Studio都以安装程序的形式出现。

要走的路是WIX工具包。

  

似乎该文件不仅取决于当前的文件   文件夹,也在父目录上!

这里有什么问题?将文件路径硬编码到可执行文件中会导致程序在复制到其他位置时不运行?猜猜怎么解决这个问题?不要硬编码路径。这不是安装程序问题 - 这只是一个错误的程序。 .NET脚本中的NOTHING具有硬编码路径,除非它是这样做的。

在你做更多坏事之前:永远不要在exe文件夹中存储可编辑的数据 - 这就是特殊文件夹的用途。正确安装后,exe文件及其所在的文件夹(实际上整个安装文件夹)仅供普通用户阅读。 Windows Standard大概10年左右......

答案 1 :(得分:0)

我使用Squirrel.Windows取得了很好的成功。它非常好地处理更新故事。 Clickonce也有效。 Squirrel由Atom和Slack桌面应用程序使用,Clickonce由Github桌面应用程序使用。

答案 2 :(得分:0)

您可以使用WIX制作安装程序。您应该将其添加到VisualStudio,制作配置文件并进行部署。

我使用过WiX,安装包也没问题。

还有另一种产品:dotnetinstaller。我没有用它。

快速tutorial is here

我想您目前不会使用的商品。