Diagnosing self-healing MSI

后端 未结 2 1440
予麋鹿
予麋鹿 2021-01-15 01:25

The app I work on is written mainly in VB6.

Some users report that when they start up my app a different MSI installer will automatically run and try to repair its o

2条回答
  •  不要未来只要你来
    2021-01-15 02:00

    With regards to Peter Cooper Jr's comment on VB6 causing self-repair. Please check out the heat.exe documentation for Wix. You will see that there is a special switch the tool supports to suppress extracting certain registry values that are owned by the VB6 runtime itself (and hence shouldn't be messed with or updated by any other MSI): http://wixtoolset.org/documentation/manual/v3/overview/heat.html

    Go down the list to the switch -svb6 and read the description to the right. (Reproduced here:)

    When registering a COM component created in VB6 it adds registry entries that are part of the VB6 runtime component:

    • CLSID{D5DE8D20-5BB8-11D1-A1E3-00A0C90F2731}
    • Typelib{EA544A21-C82D-11D1-A3E4-00A0C90AEA82}
    • Typelib{000204EF-0000-0000-C000-000000000046}

    [as well as] Any Interfaces that reference these two type libraries

    Does your installer write to these keys? If so try to exclude them - this is good to do even if it isn't the culprit in this particular case.

    Other than that there is a lengthy description of what can cause Windows Installer self-repair here: How can I determine what causes repeated Windows Installer self-repair?. It is a long article because there are so many different ways self-repair can occur. The common denominator is that different installers on your system are fighting over a shared setting that they keep updating with their own values on each application launch in an endless loop.

提交回复
热议问题