【问题标题】:publishing a C# winform application in Visual Studio 2012在 Visual Studio 2012 中发布 C# winform 应用程序
【发布时间】:2014-05-25 14:25:12
【问题描述】:

我在 Visual Studio 2012 中构建了一个 C# winform 应用程序。我想将该应用程序发布到全世界。

  1. 通过 Visual Studio 发布与将“发布”文件夹提供给某人有什么区别?

  2. 我宁愿提供“发布”文件夹,因为如果有框架,用户就没有安装。但是用户可以看到所有的数据库文件。有没有办法隐藏它们并将发布文件夹作为单个“.exe”文件,用户看不到它的数据库?

【问题讨论】:

标签: c# winforms visual-studio-2012 exe release


【解决方案1】:
  1. 在 VS 中发布项目时,会创建一个 ClickOnce 包。当您使用 Release 构建配置构建项目时,您拥有与使用 Debug 配置构建的相同的可执行文件,但调试配置针对调试进行了优化。如果您想将应用程序提供给用户,您应该使用 Release config 构建它。 [What is ClickOnce]

  2. 您可以为您的应用使用安装程序。这是一个很好的做法。如果您愿意,您可以编写脚本,例如在桌面上创建快捷方式或在 Windows 注册表中写入 smt 等。关于免费安装程序,您可以阅读 here。我的选择是InnoSetup - 开源且易于使用。

【讨论】:

  • 谢谢。很好的答案。它会隐藏数据库文件和其他东西吗? (意味着它对用户可读)
  • 谢谢!当然,它对用户来说是可读的,因为 db 文件(SQL CE 或类似文件)应该存储在程序文件夹中,但是没有特殊知识的典型用户不知道如何打开 DB 和读取数据。如果您想要更高的安全性,您还可以通过密码加密您的数据库。
【解决方案2】:

当您提供发布文件夹时,您实际上是在提供可执行文件,只需单击可执行文件(如果已安装框架)即可工作。

如果您使用 clickonce 发布应用程序,则必须先安装(基于桌面)才能执行。

我一直在使用 installshield 来准备安装程序,它还负责包含所有必需的库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-04
    相关资源
    最近更新 更多