Определите каталог установки приложения сторонних производителей

if ($_SERVER['REQUEST_METHOD'] == 'POST') корректный путь, можно отправить запрос сообщения без любых данных сообщения.

7
задан Community 23 May 2017 в 10:33
поделиться

3 ответа

Итак, я нашел решение, которое сработало для меня:

        Type type = Type.GetTypeFromProgID("WindowsInstaller.Installer");
        Installer msi = (Installer)Activator.CreateInstance(type);
        foreach (string productcode in msi.Products)
        {
            string productname = msi.get_ProductInfo(productcode, "InstalledProductName");
            if (productname.Contains("<APPLICATION NAME>"))
            {
                string installdir = msi.get_ProductInfo(productcode, "InstallLocation");
            }
        }
7
ответ дан 7 December 2019 в 01:24
поделиться

Если установка выполняется с помощью MSI, получение информации из WMI тривиально. У класса Win32_Product есть свойство InstallLocation для хранения этой информации.

1
ответ дан 7 December 2019 в 01:24
поделиться

Использование WMI может работать для некоторых людей, к сожалению, у наших пользователей не будет учетных данных, позволяющих делать это на своих машинах:

        ManagementObjectSearcher search = new ManagementObjectSearcher("Select InstallationLocation from Win32_Product");
        ManagementObjectCollection results = search.Get();

        foreach (ManagementObject mo in results)
        {
            Console.WriteLine(mo["InstallLocation"]);
        } 
2
ответ дан 7 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: