Я хочу получить код продукта из файла msi перед его установкой. Он мне нужен, чтобы удалить другую версию продукта, если она уже установлена на моем компьютере. То есть я хочу предотвратить ошибку 1638 («Другая версия этого продукта уже существует ...») и удалить ее вручную в моем коде. Я использую c ++. Поэтому я хочу получить код продукта из файла msi, который собирается установить, и с помощью этого кода продукта удалите существующую версию продукта и установите новую. Но когда я пытаюсь открыть файл msi, чтобы получить его дескриптор, используя
MsiOpenPackage(msiPackagePath, &d_handle);
, я получаю сообщение об ошибке 1638. Поэтому я не могу открыть файл msi и не могу получить код товара из него. Мой вопрос: можно ли получить код продукта из файла msi, не открывая его с помощью MsiOpenPackage
? Заранее спасибо!