0

我在链中定义了以下 MSIPackage ( Burn 3.6)。

<!-- DacFramework x86-->
<MsiPackage
    Id="msi_DacFramework"
    SourceFile="..\..\External References\MSI\Microsoft\SSDT\DacFramework\11.1.2825.1.May2013\x86\DACFramework.msi"
    InstallCondition="(VersionNT64) OR (NOT VersionNT64)"
    DownloadUrl="http://ourURL.com/updates/x86/DACFramework.msi"
    Compressed="no"
    Vital="yes"
    Permanent="yes"
    SuppressSignatureVerification="yes"
    Visible="yes"/>

据我了解,使其成为VitalPermanent应该意味着它在升级我们的产品时保持安装 - 有问题的 MSI 是来自 Microsoft 的SQL Server组件,因此我们不会更改它。InstallCondition也应该返回 True 。

但是,正如您从标题中猜到的那样,当我们的产品升级时,它正在被卸载。从日志看来,它似乎被要求...(删除=全部)

MSI (s) (D0:18) [17:03:04:781]: Command Line: MSIFASTINSTALL=7 REBOOT=ReallySuppress IGNOREDEPENDENCIES=ALL REMOVE=ALL CURRENTDIRECTORY=C:\Program Files\CompanyName\Product CLIENTUILEVEL=3 CLIENTPROCESSID=4004
...
MSI (s) (D0:18) [17:03:04:781]: PROPERTY CHANGE: Adding REMOVE property. Its value is 'ALL'.

为了认为它被要求删除,我在 MSIPackage 定义中遗漏了什么?

4

0 回答 0