Я создал файл MSI с WiX. Исходный файл WiX содержит информацию о версии, например:
<Product Id="..."
Name="..."
Language="1033"
Version="1.0.0.1"
Manufacturer="..."
UpgradeCode="...">
Файл MSI работает нормально: он устанавливается, удаляется, обновляется при увеличении номера версии и т. Д.
Однако, когда я пытаюсь получить информацию о версии этого файла, вызывая API MsiGetFileVersion (), он возвращает ошибку 1006 (ERROR_FILE_INVALID
Файл не содержит информацию о версии.)
Отсюда мой вопрос: как (программно, в C ++) получить номер версии файла MSI? Или, другими словами, куда в файле WiX должна идти информация о версии, чтобы ее можно было извлечь через MsiGetFileVersion ()?
Дополнительная информация: та же ошибка возникает с MSI 3.0 в Windows XP и MSI 4.0 в Vista.