【问题标题】:Configuration file with ClickOnce deploymentClickOnce 部署的配置文件
【发布时间】:2009-11-16 20:40:02
【问题描述】:

我一直在尝试修改我的应用程序以使用 ClickOnce 进行部署和更新。我已经设法让程序正常工作,但我在程序配置方面遇到了问题。我的程序使用位于应用程序目录中的自定义 XML 配置文件。这引发了两个主要问题。

1.) 配置文件很难找到。如果不了解 ClickOnce 的工作原理,用户将无法找到它。

2.) 目前,如果我更改配置文件 ClickOnce 会自动将配置文件“更新”为原始版本,从而破坏我的配置。

理想情况下,我希望它将配置文件移动到另一个位置,并在我的应用程序旁边创建一个开始菜单快捷方式。但是,如果我更改程序来执行此操作,我仍然可以使用 ClickOnce 部署应用程序吗?

提前致谢,

Fr33dan

【问题讨论】:

    标签: c# .net clickonce


    【解决方案1】:

    为什么不将配置的副本放在用户应用程序数据文件夹中(这可以在首次运行时完成) - 然后在您的应用程序中使用一个按钮来打开它(在外部或在您的应用程序中)?

    【讨论】:

      【解决方案2】:

      您始终可以将配置数据存储在应用程序设置中。这不会在每次 ClickOnce 更改或更新时被覆盖(除非您更改设置的类型)。然后,您可以创建一个简单的表单来更新它。这是许多 .NET 开发人员用于屏幕保护程序的技术。

      【讨论】:

        【解决方案3】:

        您可以在这里做很多事情来缓解这个问题。

        首先,使用已有的 - 配置数据有两部分(对不起,我正在记忆中工作)应用程序配置和用户配置。应用程序配置基本上是在下拉应用程序时定义的,但是 user 配置就是这样 - 您设置默认值,然后,一旦由应用程序代表用户设置,它就不会应用更新时被覆盖。

        提供配置编辑器应该足够简单 - 像两列网格这样简单的东西对于只读标签列和可编辑值列就足够了(尽管您在验证方面会遇到一些挑战)。

        或者,如果您对更传统的配置更满意,那么您需要恰好 1 个用户值,这将是配置文件的位置...如果您不知道是否(或找不到文件)提示创建,将您的默认配置从应用程序内的资源转储到指定位置,然后您就获得了配置文件,然后就可以走了。

        【讨论】:

          【解决方案4】:

          我参与的一个项目,我们让应用程序从部署它的服务器下载配置文件(这是在每次启动时完成的,以应对应用程序被添加到开始菜单并缓存的情况)。 ClickOnce API 为您提供服务器地址。

          在另一个项目中,我们只是将一些配置值作为查询字符串传递给 ClickOnce 应用程序,这些是由具有应用程序链接的 Asp.net 页面生成的。

          这允许客户更改其网站的配置而无需辞职等。
          (这对每个用户的配置没有帮助)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-11-20
            • 2010-12-24
            • 1970-01-01
            相关资源
            最近更新 更多