Как использовать MsiGetProductInfo для получения установленной версии c # winforms 4.0? - PullRequest
0 голосов
/ 12 апреля 2011

Я пытаюсь получить номер установленной версии моего приложения win fomrs, используя функцию MsiGetProductInfo.Я пытаюсь изменить код, который я нашел в этом сообщении , но все, что я получаю, это текст, похожий на крыло, когда я изменяю свой вызов функции следующим образом:

MsiGetProductInfo("{9806C9BE-59D4-4DEE-802F-0E492023DE8A}", "INSTALLPROPERTY_VERSIONSTRING", builder, ref len);

Это 4.0 c #Проект Winforms, который устанавливается со стандартным проектом установки vs2010.Клиентские машины - это win 7 и win XP

1 Ответ

0 голосов
/ 12 апреля 2011

Вы проверили возвращаемое значение функции?Если он возвращает ошибку, возможно, что буфер заполнен мусором.

Это список возможных возвратов со страницы MSDN здесь

Возвращаемое значение

ERROR_BAD_CONFIGURATION Данные конфигурации повреждены.

ERROR_INVALID_PARAMETER В функцию передан недопустимый параметр.

ERROR_MORE_DATA Буфер слишком мал для хранения запрошенных данных.

ERROR_SUCCESS Функция успешно завершена.

ERROR_UNKNOWN_PRODUCT Продукт не был аннулирован или удален.

ERROR_UNKNOWN_PROPERTY Свойство не распознано.

Примечание.запрашиваемый рекламируется и не устанавливается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...