Wix: проверка уже установленного пакета

Есть инсталятор на Wix 3.1 (Wixtoolset в VS), который ставит приложение и пакеты к нему, в частности MongoDB. Всё хорошо устанавливается, но есть потребность проверить, установлена ли уже определённая версия MongoDB. По дефолту MongoDB устанавливается в C:\Program Files\MongoDB\Server\4.4\bin, где, в итоге, оказывается сервис mongod.exe

Есть такой фрагмент:

<Fragment>
    <Property Id="MONGODIVERSION" Secure="yes">
        <DirectorySearch Id="ProgramFiles64Folder" Path="[ProgramFiles64Folder]">
            <DirectorySearch Id="MongoDBFolder" Path="MongoDB">
                <DirectorySearch Id="ServerFolder" Path="Server">
                    <DirectorySearch Id="VersionFolder" Path="4.4">
                        <DirectorySearch Id="BinFolder" Path="bin">
                            <FileSearch Name="mongod.exe"/>
                        </DirectorySearch>
                    </DirectorySearch>
                </DirectorySearch>
            </DirectorySearch>
        </DirectorySearch>
    </Property>

    <Property Id="MONGODIVERSION2">
        <DirectorySearch Id="ProgramFiles64Folder" Path="[ProgramFiles64Folder]\MongoDB\Server\4.4\bin">
            <FileSearch Name="mongod.exe"/>
        </DirectorySearch>
    </Property>

    <Condition Message="The installer uses the same MongoDB version that is already installed.">
        <![CDATA[Installed AND NOT MONGODIVERSION]]>
    </Condition>

    <PackageGroup Id="InstallMongo">
        <MsiPackage SourceFile=".\ExternalSoftware\mongodb-windows-x86_64-4.4.6-signed.msi" Visible="yes" DisplayInternalUI="no">
            <MsiProperty Name="ADDLOCAL" Value="ProductFeature,Server,ServerService,Client,Router,MiscellaneousTools"/>
            <MsiProperty Name="SHOULD_INSTALL_COMPASS" Value="0"/>
            <MsiProperty Name="MONGO_SERVICE_NAME" Value="MongoDBDI"/>
        </MsiPackage>
    </PackageGroup>
</Fragment>

И ссылка на этот фрагмент:

<Chain>
    <PackageGroupRef Id="InstallMongo"/>
    <-- другие пакеты -->
</Chain>

Пытаюсь ставить приложение, после отдельной установки MongoDB 4.4. В итоге установка проходит как и раньше - без условий и сообщений. Оба свойства MONGODIVERSION и MONGODIVERSION2, судя по логу в темпе, вообще отсутсвуют во время установки.

Подскажите, где мог ошибиться...


Ответы (0 шт):