一尘不染

部署无需安装即可运行的Visual Studio应用程序的最佳方法

c#

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

但是,它仍然需要(以某种方式)包括正确版本的.NET,库等,以便它可以正确运行。我知道使用ClickOnce时会包含此文件,但仍会将应用程序安装到用户的计算机上。

有办法吗?

编辑-\ bin \ Debug

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

阅读 577

收藏
2020-05-19

共1个答案

一尘不染

这是可能的,而且看似简单:

  1. 通过菜单 Build 或项目属性→ Publish 将应用程序“发布”到驱动器C上的某个文件夹。这将为ClickOnce应用程序创建一个安装程序。
  2. 但是, 不要使用产生的安装程序而是 找到产生的文件(EXE文件和 .config.manifest.application 文件以及任何DLL文件等)-它们都在同一文件夹中,并且通常位于bin\Debug项目文件( .csproj )下的文件夹。
  3. 压缩该文件夹(保留所有 .vhost。 文件和app.publish文件夹(不需要),以及.pdb文件,除非您预见直接在用户系统上进行调试(例如,通过远程控制),并提供它给用户。

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

对于.NET,您可以检查应用程序中已安装(或完全安装).NET的最低要求版本(大多数用户已经安装了该版本),并显示一个对话框,其中包含指向Microsoft网站下载页面的链接。
(或指向您可以重定向到Microsoft页面的页面之一-如果更改了Microsoft URL,这将使其更强大)。由于它是一个小实用程序,因此您可以将.NET
2.0作为目标,以减少用户必须安装.NET的可能性。

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

2020-05-19