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

时间:2013-06-05 17:24:40

标签: c# deployment visual-studio-2012 install clickonce

我用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

2 个答案:

答案 0 :(得分:93)

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

  1. “发布”应用程序(例如,驱动器C上的某个文件夹),可以从菜单 Build 或从项目的属性→发布。这将为ClickOnce应用程序创建一个安装程序。
  2. 但是而不是使用生成的安装程序,找到生成的文件(EXE文件和 .config .manifest 和< em> .application 文件,以及任何DLL文件等) - 它们都在同一文件夹中,通常位于项目文件下的bin\Debug文件夹中( .csproj )。
  3. 压缩该文件夹(省略任何 * .vhost。* 文件和app.publish文件夹(不需要它们)和.pdb文件,除非您预见直接调试用户的系统(例如,通过远程控制)),并将其提供给用户。
  4. 另一个优点是,作为ClickOnce应用程序,它不需要运行管理权限(如果您的应用程序遵循用于应用程序数据的文件夹的正常准则等)。

    对于.NET,您可以检查应用程序中安装(或根本没有)所需的最低.NET版本(大多数用户已安装它)并显示一个对话框,其中包含指向下载页面的链接Microsoft网站(或指向可以重定向到Microsoft页面的其中一个页面 - 如果Microsoft URL更改,这会使其更加健壮)。由于它是一个小实用程序,因此您可以将.NET 2.0作为目标,以降低用户必须安装.NET的可能性。

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

答案 1 :(得分:1)

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

  1. BUILD - &gt; PUBLISH或右键单击解决方案资源管理器上的项目 - &gt;属性 - &gt;在解决方案资源管理器中发布或选择项目,然后按 Alt + 输入 注意:如果您正在使用Visual Studio 2013,那么在属性中您必须转到BUILD,然后您必须禁用define DEBUG常量并定义TRACE常量,您就可以开始了。 Representation

  2. 将文件保存到特定文件夹。 查找生成的文件(EXE文件和.config,.manifest和.application文件以及任何DLL文件等) - 它们都在同一个文件夹中,通常位于下面的bin\Debug文件夹中项目文件(.csproj)。 在Visual Studio中,它们位于Application Files文件夹中,您只需要.exe和dll文件。 (您必须删除ClickOnce和其他文件,然后将此文件夹设为zip文件并进行分发。)

  3. 注意:ClickOnce应用程序确实将项目安装到系统,但它有一个优点。您不需要在此处运行管理权限(如果您的应用程序遵循用于应用程序数据的文件夹的正常准则等)。