部署无需安装即可运行的 VisualStudio 应用程序的最佳方式

我用 C #/编写了一个相当简单的应用程序。NET 并且不能找到一个好的方法来发布它。这是一种“工具”,用户只能运行一次,或者每隔几个月运行一次。因此,我希望有一种方法,我可以部署它不需要安装运行(它可以只是双击一个 EXE 文件下载后直接运行)。

但是,它仍然需要(以某种方式)包含。NET、库等等,这样它才能正确运行。我知道在使用 ClickOnce 时包含了这一点,但这仍然会将应用程序安装到用户的计算机上。

有什么办法可以做到吗?

编辑箱调试

myAppName.application
myAppName.exe
myAppName.exe.config
myAppName.exe.manifest
myAppName.pdb
myAppName.vshost.application
myAppName.vshost.exe
myAppName.vshost.exe.config
myAppName.vshost.exe.manifest
extraLibrary.dll

还有两个文件夹

app.publish
Resources
178361 次浏览

这是可能的,而且看似容易:

  1. “发布”应用程序(例如,到驱动器 C 上的某个文件夹) ,从菜单 建造或从项目属性→ 出版。这将为 点击一次应用程序创建一个安装程序。
  2. 但是 而不是使用生成的安装程序,找到产生的文件(EXE 文件和 . config。清单,和 。申请文件,以及任何 DLL 文件,等等)-他们都在同一个文件夹,通常在 bin\Debug文件夹下面的项目文件(。 csproj)。
  3. 压缩该文件夹(省略任何 * . vhost. * 文件和 app.publish文件夹(它们是不需要的) ,并且。Pdb 文件,除非您预见到直接在用户的系统上进行调试(例如,通过远程控制) ,并将其提供给用户。

另一个好处是,作为 ClickOnce 应用程序,它不需要运行管理特权(如果应用程序遵循用于应用程序数据的文件夹的正常指导方针等)。

至于。NET 中,您可以检查。NET 被安装(或者根本不安装)在应用程序中(大多数用户已经安装了它) ,并提供一个对话框链接到微软网站的下载页面(或者指向你的一个页面,可以重定向到微软页面-这使得它更加健壮,如果微软的 URL 发生变化)。因为它是一个小型实用程序,所以您可以针对。NET 2.0来减少用户的安装概率。NET.

有用。我们在开发和测试期间使用此方法,以避免不断卸载和安装应用程序,并且仍然非常接近最终应用程序的运行方式。

首先,您需要通过以下方式发布该文件:

  1. BUILD-> PUBLISH 或右键单击解决方案资源管理器上的项目-> 属性-> 在解决方案资源管理器中发布或选择项目,然后按 Alt + Enter 注意: 如果你使用 Visual Studio 2013,那么在属性中你必须转到 BUILD,然后你必须禁用定义 DEBUG 常量和定义 TRACE 常量,你准备好了。 Representation

  2. 将文件保存到特定文件夹。 查找生成的文件(EXE 文件和。配置,。货单,以及。应用程序文件,以及任何 DLL 文件等)-他们都在同一个文件夹,并在 bin\Debug文件夹下面的项目文件(。Csproj). 在 VisualStudio 中,它们位于 ApplicationFiles 文件夹中,在该文件夹中,您只需要。Exe 和 dll 文件。 (您必须删除 ClickOnce 和其他文件,然后将该文件夹设置为 zip 文件并分发它。)

注意: ClickOnce 应用程序确实将项目安装到系统中,但是它有一个优点。这里不需要运行管理员权限(如果应用程序遵循用于应用程序数据的文件夹的正常指导原则等)。