发布VisualStudio程序

问题描述:

现在我有一个完整的程序,需要部署一些文件。我想问问,如果可以在不使用ClickOnce或其他外部工具的情况下部署该程序,并且所需的文件数量最少?发布VisualStudio程序

该程序将在服务器上运行,并将在本地进行更新,但由于该程序是按用户安装的,这是否意味着如果我用我的用户登录服务器,使用直接路径程序不会找到它?这也使得维护程序更加恼人,因为当更改到来时,当前的维护者将不得不总是导航到xyz文件夹来编辑一个配置文件。如何在没有ClickOnce或其他工具的情况下发布程序?

选项包括:

  • Click once(你不想)
  • Visual Studio installer Projects
  • WiX Toolset
  • 其他安装...
  • 写一个安装在自己的(止跌不推荐)
  • 只需将exe(和其他需要的文件)放在某个目录中并启动程序
  • 把exe文件上的共享位置,并推出从那里
+0

如果使用ClickOnce,将其安装到远程机器(服务器),那么有权访问服务器/文件夹的用户将能够启动该程序吗? – EInherjar

+0

@EInherjar如果用户有权在自己的机器上执行应用程序,并且有权执行应用程序的任何操作,那么是的。你可以想象它就好像用户将自己的应用程序安装在自己的机器上一样 –

+0

我只是对ClickOnce特别感到困惑,因为它声明他们在用户的基础上安装程序,这意味着如果我在一台PC上有两个用户,并且只有一个安装程序,只有一个能够运行它,或者我误解了这一点? – EInherjar

您可以重新分配为一组文件。不过,我不会推荐这种方法。你逼谁部署你的程序的人:

  1. 选择位置的文件
  2. 记住此位置时的时间来卸载来。
  3. 句柄更新和版本管理
  4. 恢复程序功能,如果任何所需的文件将被损坏。

您可以使用VS安装项目模板,here's tutorial

或者您可以使用免费Wix installer,它有一个学习曲线,但提供了更多的权力给开发者。

您可以使用VS安装项目和wix来执行perMachine安装。

+0

因此,没有办法只将整个程序与依赖关系,.dll文件放在一个.exe文件中,并附带一个app.conifg文件,而没有其他的东西?我的意思是,最终用户只有他的.exe文件和一个隐藏的app.config文件。 – EInherjar

+1

[你可以](https://stackoverflow.com/questions/10137937/merge-dll-into-exe) – Vlad