我试图在升级或卸载我的应用程序之前执行自定义操作(在删除文件之前,因为我必须将数据库文件复制到另一个目录中)
问题-我可以从控制面板中卸载它,但在升级时却无法运行。升级时,安装程序过早终止,旧版本为也将被删除。
这是我的代码-
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed."/>
<Binary Id="secondAction" SourceFile="..\Migrations\bin\Debug\Migrations.CA.dll" />
<CustomAction Id="secondActionId"
BinaryKey="secondAction"
DllEntry="Migrate"
Execute="deferred"
Return="check" />
<InstallExecuteSequence>
<Custom Action="secondActionId" Before ="RemoveFiles">(REMOVE~="ALL") OR (WIX_UPGRADE_DETECTED)</Custom>
</InstallExecuteSequence>
答案 0 :(得分:0)
不是在RemoveFiles之前运行而是在InstallValidate之后尝试运行。我相信RemoveFiles仅在卸载时发生。将在删除现有产品之前进行InstallValidate。