【问题标题】:App.Config on Winforms is getting reinstalledWinforms 上的 App.Config 正在重新安装
【发布时间】:2022-06-16 11:37:13
【问题描述】:

我安装了一个 Windows 应用程序并且运行良好。

出现了一些奇怪的事情,测试场景是如果我将配置文件从原始名称重命名为:

型号标签 PC Client.exe.config

...到:

xxxModel Label PC Client.exe.config

...然后单击我安装它的应用程序文件夹/路径上的 .EXE 文件,它按预期工作

但是当我在桌面上单击此应用程序的快捷方式图标时,它会显示一个弹出窗口,提示安装正确配置文件名的新副本。。 p>

请参考截图,知道如何防止这种情况发生吗?还是这真的是行为?

【问题讨论】:

  • MSI 机制检查安装是否损坏(是的,更改安装目录中的文件是损坏的)然后尝试修复...您应该考虑不同的方式来存储全局设置......或将应用程序部署为“xcopy” ...如果是一次性更改,那么您可以在安装时生成设置文件
  • 嗨@Selvin 感谢您提供的信息。实际上它是一个测试用例场景,如果文件夹中不存在该文件,则应显示错误消息/对话框。当我在安装路径上打开应用程序的 .exe 时会发生这种情况。但是,如果我打开快捷方式图标,则会显示此安装提示。当我单击快捷方式图标时,有没有办法防止这种情况发生?

标签: c# winforms


【解决方案1】:

操作:

“知道如何防止这种情况发生吗?”

对于已安装的应用程序,这是设计使然。从本质上讲,您已经删除了一个已安装的文件,因此安装程序技术将开始恢复它,就好像什么都没发生一样。

现在从技术上讲,您可以通过不使用 MSI 技术来安装您的应用程序信任而不是在 good-ol' XCOPY 上安装您的应用程序,但话又说回来,重命名/移动/删除文件可能会破坏应用程序,因为这次有没有自动恢复!

此外,.NET 应用程序希望找到与可执行文件同名的 .config 文件,因此在大多数情况下您不应该重命名/删除/移动它。

【讨论】:

    猜你喜欢
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 2011-05-18
    • 2014-02-07
    相关资源
    最近更新 更多