powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как определить установлен ли продукт?
23 сообщений из 48, страница 2 из 2
Как определить установлен ли продукт?
    #39582693
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
10 раз сказать про MsiGetProductInfo?
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39582713
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123256k,
10 раз сказать про MsiGetProductInfo?

productCode="guid";
propertyName="InstallLocation";

Код: c#
1.
2.
3.
4.
5.
int len = sbBuffer.Capacity;
            sbBuffer.Length = 0;
            int status = NativeMethods.MsiGetProductInfo(productCode,
                                                          propertyName,
                                                          sbBuffer, ref len);




status = 0
вернула пустую строку
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39582716
Дмитрий77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123MsiGetProductInfo
А, ну вот, настоящая API.
Я просто когда свой код на VB6 с извлечением из @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall писал,
на API еще не так "подсел". Ну работает, не трогаю, в .Net этот функционал вроде не мувал, потому что выяснятель чего где установлено работает до проверок .Net версий и на .Net его писать нельзя. Кстати наличие нужной .Net версии тоже через реестр подобным же образом проверяю.
А MsiGetProductInfo я думаю и глубже прокопает, надо взять на заметку.

Хотя это наверно касается только того что установлено через msi-инсталлер, а я им как бы не пользуюсь.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39582730
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kвернула пустую строку
У меня работат в скрипте.
Ищи, или я завтра гляну.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583064
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kPetro123256k,
10 раз сказать про MsiGetProductInfo?

productCode="guid";
propertyName="InstallLocation";

Код: c#
1.
2.
3.
4.
5.
int len = sbBuffer.Capacity;
            sbBuffer.Length = 0;
            int status = NativeMethods.MsiGetProductInfo(productCode,
                                                          propertyName,
                                                          sbBuffer, ref len);


status = 0
вернула пустую строку
Проверяй повторно.
Вот один из примеров
https://stackoverflow.com/questions/4013425/msi-interop-using-msienumrelatedproducts-and-msigetproductinfo
По факту гуид должен быть тот же что в реестре в
Wow64....microsoft...wind....curren....uninstall.
Т.е. гуид продукта.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583207
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123256kвернула пустую строку
У меня работат в скрипте.
Ищи, или я завтра гляну.

Работает, если в реестре InstallLocation пустой?

У меня возвращает пустое значение.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583209
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123256kпропущено...


productCode="guid";
propertyName="InstallLocation";

Код: c#
1.
2.
3.
4.
5.
int len = sbBuffer.Capacity;
            sbBuffer.Length = 0;
            int status = NativeMethods.MsiGetProductInfo(productCode,
                                                          propertyName,
                                                          sbBuffer, ref len);


status = 0
вернула пустую строку
Проверяй повторно.
Вот один из примеров
https://stackoverflow.com/questions/4013425/msi-interop-using-msienumrelatedproducts-and-msigetproductinfo
По факту гуид должен быть тот же что в реестре в
Wow64....microsoft...wind....curren....uninstall.
Т.е. гуид продукта.

Я этот код и юзю, который отмечен там как ответ.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583239
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
Ok. Ждите. Я или кто, проверит код. Вы когда нибудь на WinApi32 писали?
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583257
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123256k,
Ok. Ждите. Я или кто, проверит код. Вы когда нибудь на WinApi32 писали?

1.писали
2. я не жду, чтобы кто-то проверил мой код, я сам уже наклепал 4 разных варианта, а путь не нашел, пусто.
3. я хочу понять, можно ли в такой ситуации и как - обнаружить из приложения, что установлено софтваре и найти путь, где.

;-)
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583283
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
У вас ошибка в 17 строке. Так шутят программисты на вашу ситуацию.
WinApi описан, но у вас не работает.
Я пока занят(
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583348
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123256k,
У вас ошибка в 17 строке. Так шутят программисты на вашу ситуацию.
WinApi описан, но у вас не работает.
Я пока занят(

Никакой ошибки нет.

Но проясняется.
Вообще-то понятие InstallLocation в общем случае для продукта не имеет смысла.
Искать надо по компонентам, да и то там может быть кучеряво.
MSI конечно - еще тот зверь
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583356
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
Нет.
Если ты сам сделал компоненты и расставил их по машине, то сам ССЗБ.
Так никто не делает. Я все компоненты ставил в подпапку ИНСТАЛЛЯЦИИ ПРОДУКТА
InstallDir = c:\program.......
Потом второй продукт ProductID я ставил к первому найдя его по ProductID1.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583665
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Мне .иногда приходится писать проверки правильности установки всякой фигни.
Часто единственный путь - тупо искать экзешник в файловой системе.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583670
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
ну, это когда что то небольшое, портабле или старое.
В новом очень удобно именно setup.exe со всеми прибамбасами.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583677
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Petro123ну, это когда что то небольшое, портабле или старое.
Если это по технологии ClickOnce, то тоже только файлы.

===============
Не знаю, может кому и поможет.

Место установки сервиса обычно в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TheService , ImagePath

Но бывает и в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TheService\Parameters , ImagePath
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583886
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Мне .иногда приходится писать проверки правильности установки всякой фигни.
Часто единственный путь - тупо искать экзешник в файловой системе.

ну, это теоретически возможно, но путь тяжелый, по всем дискам шуршать. Кроме того, может быть копия этого фолдера или эхэ и т.д.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583906
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Ролг Хупин,

Обычно все же примерно известно, где искать. Как правило в корне системного диска или в корне "D".

И только одна моя программа ставится в "Мои документы"
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583914
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Как правило в корне системного диска или в корне "D".извини, устарело.
Чтобы поставить туда нужно потрудится. Инсталляторы default другая папка.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583930
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Petro123Cat2Как правило в корне системного диска или в корне "D".извини, устарело.
Чтобы поставить туда нужно потрудится. Инсталляторы default другая папка.
На железке дофига унаследованных от доса и вин3 программ. Ставятся в каталоги "по-традиции". Впрочем и ДОС-программы кое-где остались.
Программисты на Яве тоже не заморачиваются установкой в Program Files.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583934
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
У меня было задание, подсчитать, сколько специализированных программ использует железка - более 20 тысяч.
И это только те, которые устанавливаются централизованно, пакетами SCCM.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39583948
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Ставятся в каталоги "по-традиции".ну мы же о проф программах для инсталляции?
Я о профессиональных. Там чтобы ставить в корень нужно скрипт писать и права проверять. А по умолчанию есть переменная и писать не надо.
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39584017
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Petro123Я о профессиональных. Там чтобы ставить в корень нужно скрипт писать и права проверять
Вот и я о профессиональных системах развертывания, когда надо установить что-то на 300 000 машин.

https://msdn.microsoft.com/ru-ru/library/mt629356.aspx] Создание приложений с помощью System Center Configuration Manager
...
Рейтинг: 0 / 0
Как определить установлен ли продукт?
    #39584030
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Ну это круто).
Есть ещё от AD установка на 300 машин.
Я попроще, собственный setup от программиста и ставьте чем хотите.
...
Рейтинг: 0 / 0
23 сообщений из 48, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как определить установлен ли продукт?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]