小编Enc*_*ine的帖子

仅在安装或卸载时执行自定义操作

我正在使用WiX 3.10制作安装程序.我的原始任务是将Postgres文件复制到目标系统,初始化集群,注册服务,启动它并在安装时恢复数据库,以及反向停止服务,将其从系统中删除,并清除集群数据.我编写了两个bat文件,并添加了自定义操作来执行它们以及各个地方描述的一些条件,但它们都没有工作.我已尝试使用和不使用CDATA,已安装,已安装和其他一些变体,但它始终执行这两个操作.

这是我正在尝试的wix文件.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*" Name="Hatred_6" Language="1033" Version="1.0.0.0" Manufacturer="Satan" UpgradeCode="d9602b10-8428-4031-8c82-99288b21377f">
        <Package InstallerVersion="405" Compressed="yes" InstallScope="perMachine"  InstallPrivileges="elevated"/>

        <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
        <MediaTemplate EmbedCab="yes" />

        <CustomAction Id="AAction" Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no" Return="check"
                      ExeCommand="cmd.exe /c &quot;a.bat&quot;">NOT Installed</CustomAction>

        <CustomAction Id="BAction" Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no" Return="check"
                      ExeCommand="cmd.exe /c &quot;b.bat&quot;">Installed</CustomAction>

        <InstallExecuteSequence>
            <Custom Action="BAction" After="InstallFiles" />
            <Custom Action="AAction" After="InstallFiles" />
        </InstallExecuteSequence>

        <Feature Id="ProductFeature" Title="Hatred_6" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>
    </Product>

    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLFOLDER" Name="Hatred_6" …
Run Code Online (Sandbox Code Playgroud)

windows-installer custom-action wix wix3.10

2
推荐指数
1
解决办法
3213
查看次数

标签 统计

custom-action ×1

windows-installer ×1

wix ×1

wix3.10 ×1