部署Windows窗体应用程序时要采取的步骤?

时间:2011-02-21 19:06:25

标签: c# winforms deployment

我已经完成了桌面应用程序的第1版,它已经可以部署了。

为了测试一下,我抓住/ debug文件夹的内容并将其复制到目标机器的文件夹中,应用程序正常工作。

我确信这不是正确的方法。

我已经创建了一个Visual Studio Installer项目并创建了它。我的问题是,在部署应用程序时,是否必须设置类似于ASP.Net的debug = false?

感谢您的建议。

5 个答案:

答案 0 :(得分:11)

.NET应用程序有多种部署选项。您的方法通常称为“xcopy部署”,是所有包含文件的简单副本。

通常,您不会从调试文件夹中复制内容。而是将Visual Studio中的“解决方案配置”组合从调试更改为发布,编译应用程序并从“发布”文件夹中复制文件。

在创建应用程序的发布版本时,编译器会对代码应用更多优化,以创建更高效​​的可执行文件。

还有其他部署方法。这里有一些创建不同类型的安装程序

  • ClickOnce(右键单击解决方案资源管理器中的项目,然后选择“发布”)
  • 安装程序项目(创建MSI安装程序)
  • WiX(也创建了MSI安装程序,比安装程序项目更麻烦,但更灵活

创建安装程序的好处是,最终用户运行安装程序通常比复制松散的文件束更简单。安装程序可以在开始菜单上自动创建一个图标,确保安装了正确版本的.NET框架等。

如果您只想在一台或最多几台计算机上运行您的应用程序,那么创建安装程序的额外工作可能是不值得的。

答案 1 :(得分:3)

在创建应用的“候选版本”时,我会执行以下操作:

  • 在源控件存储库中创建一个分支或标记,将特定的构建标识为候选版本的源。分支很好,因为它允许您进行必要的更改以释放您在开发环境中不需要的源。
  • 设置应用的发布版本配置。除此之外,是的,这确实确保未设置DEBUG编译常量,因此任何基于该常量有条件编译的都不会。默认行为也是优化代码(更快的运行时,不可调试)和不生成PDB。
  • 构建安装程序。理想情况下,安装程序的输出应该在主项目的主输出之外的其他位置。
  • 运行安装程序(从其构建位置执行此操作很好)。它应该没有错误地执行,并产生你期望的结果。
  • “冒烟测试”应用程序已安装。基本上,运行一些不修改它所使用的数据层的基本操作,这将验证应用程序没有可能由于缺少DLL或不正确的连接字符串/应用程序设置而导致的主要问题。
  • 将安装程序复制到足够大小的拇指驱动器,并在没有安装VS的“原始”计算机上尝试相同的安装和冒烟测试。理想情况下,它应该尽可能地模仿目标机器的环境。

答案 2 :(得分:0)

首先,您不应该部署Debug assmeblies。您应该在发布模式下构建。 http://msdn.microsoft.com/en-us/library/wx0123s5.aspx

我从未使用过安装程序项目,但我更倾向于使用Web和控制台。希望别人会有更详细的帖子:)

答案 3 :(得分:0)

使用Setup and Deployment project。这样您的应用程序将确保用户具有所需的库。如果没有安装,它还将下载所需的.net版本。

始终发布“发布”版本而不是调试版本。从调试文件夹复制/粘贴将无法调用案例,而不是正确的方式来释放应用程序。

答案 4 :(得分:0)

此外,如果您不希望有人对您的代码进行逆向工程,您可能需要使用Dotfuscate。