我的应用程序作为Windows服务运行。在正常执行期间,一些数据文件是在我使用WIX安装创建的“data”目录中生成的。在升级期间,我想将这些文件移动/迁移到升级安装中的相同数据目录。但是,我遇到了问题。我使用“MajorUpgrade”标签如下:
我尝试稍后在进程中调度(afterInstallFinalize),但这会导致升级期间服务具有文件锁定的问题。我已经梳理了Stack Overflow和谷歌,似乎没有其他人在描述我的场景。其他人有默认的* .ini文件,用户可以编辑。但是,就我而言,迁移文件应始终是安全的,因为没有默认值。它们只是需要迁移的数据文件。
我认为我可以通过自定义操作执行此操作,但不知道该怎么做。
非常感谢任何建议。
编辑:显然使用“afterInstallFinalize”对我来说很好,即只要用户在升级期间不更改路径,就会迁移数据文件。如果我在升级期间更改路径,则会收到有关文件被锁定的警告,并要求使用这些文件停止应用程序。但是,在这种情况下,它最终不会迁移文件。
答案 0 :(得分:0)
最终,我通过简单地覆盖默认对话框行为并更改流程来解决我自己的问题,以便在升级时跳过“InstallDirDlg”。