【问题标题】:VB.Net Application Settings / ClickOnceVB.Net 应用程序设置/ClickOnce
【发布时间】:2011-01-27 19:12:12
【问题描述】:

VS 2008 / VB.Net / WinForms

我有一个项目的应用程序设置 (Settings.settings),我正在使用 Click Once 部署。

我使用 VS 编辑器创建设置,我可以在 app.config 文件中看到设置

<applicationSettings>
  <MyApp.Win.My.MySettings>
   <setting name="MySetting" serializeAs="String">
    <value>False</value>
   </setting>
  </MyApp.Win.My.MySettings>
 </applicationSettings>

我想在应用程序打包后单击一次后更新此设置。该设置仅用于测试目的。

如果我更改 xxx.config.deploy 并单击一次重新安装应用程序。新的设置值不会改变(似乎缓存在某处)。即使我在本地电脑上进行了更改,设置似乎也被缓存在某处。如果我进入 VS,它会要求我重新同步设置。但是我需要在应用程序打包后单击一次。

更新

我可以更改其他设置,例如连接字符串,它会在安装应用程序后反映出来。我只有“我的设置”设置有问题。

澄清步骤:

  1. 创建点击一次部署
  2. 复制到客户的部署服务器 (IIS)
  3. 编辑服务器上的 xxx.config.deploy 文件
  4. 在客户端 PC 上安装(通过在步骤 2 中从部署服务器安装)
  5. 客户端电脑没有更新设置

感谢您的帮助

【问题讨论】:

  • 我删除了我的旧帖子,因为它没有解决您的问题。我仍在尝试了解您在做什么。这4个步骤对吗? 1. 使用 Visual Studio 创建 ClickOnce 部署。 2. 安装在客户端。 3. 在您部署到的服务器上编辑 xxx.config.deploy 文件。 4. 再次启动应用程序并期望得到您更改的设置。
  • 如果上述步骤正确,您是否曾经重新创建部署?除非 .application 版本发生更改,否则 ClickOnce 不会下载任何文件。
  • 你几乎是对的... 1. Create click once deploy 2. 复制到客户的部署服务器 (IIS) 3. 编辑服务器上的 xxx.config.deploy 文件 4. 安装客户端 PC 5. 客户端 PC 没有更新设置
  • 好的,在您的第 4 步“在客户端 PC 上安装”。这是客户的首次安装,还是他们已经安装了它并且只是获取和更新应用程序?
  • 第一次安装。或者我卸载然后重新安装。这两种方法都不起作用。

标签: vb.net visual-studio-2008 clickonce


【解决方案1】:

有趣。我原以为安装会失败,但我只是尝试了一下,更改了 config.deploy 中的一个值,安装工作正常,正如你所说,我更改的值仍然具有原始值。

创建部署文件时,clickonce 会创建一个清单并检查以确保每个文件都未更改,如果任何文件不同,则安装失败。

似乎没有检查 config.deploy,所以我猜想在创建清单时它必须记录内容并在客户端安装时使用这些内容。

那么如何更新你的价值呢?问题是清单的创建发生在 MsBuild 的 CoreBuild 目标期间。之后的任何更改都会使发布的构建无效,因此我认为更新它的最佳位置是在 BeforeBuild 事件中。更新文件时需要考虑很多事情,所以请查看我的blog entry,这对于您想要做的事情来说有点矫枉过正,但即使您想要做的事情看起来很简单,但要做到正确却非常棘手。

【讨论】:

  • 我禁用了签名,因此我可以更改 clickonce 配置文件。我可以更改其他设置,例如连接字符串,它会在安装应用程序后反映出来。
  • 啊,这就是为什么它没有失败,通常它会
猜你喜欢
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
相关资源
最近更新 更多