Удаленная установка MSI возвращает ошибку 1619 - PullRequest
0 голосов
/ 19 июня 2019

Удаленная установка msi возвращает ошибку 1619, если расположение пакета на сетевом диске или в общей папке. Если пакет находится на удаленной машине, установка прошла успешно.

static void Main(string[] args)
        {
            string[] app = { "1.msi", "2.msi", "3.msi" };
            string retVal = "";

            ConnectionOptions options = new ConnectionOptions();
            string targetIpAddress = "targetPC";   // you can change this target IP address
            options.Username = @"domain\username";
            options.Password = "password";
            ManagementScope scope = new ManagementScope(("\\\\" + targetIpAddress + "\\root\\cimv2"), options);
            scope.Connect();

            ManagementPath p = new ManagementPath("Win32_Product");
            ManagementClass classInstance = new ManagementClass(scope, p, null);
            ManagementBaseObject inParams = classInstance.GetMethodParameters("Install");
            ManagementBaseObject outParams;
            inParams["AllUsers"] = true;
            inParams["Options"] = string.Empty;

            foreach (var item in app)
            {
                inParams["PackageLocation"] = @"\\network_drive\app_location" + item;
                outParams = classInstance.InvokeMethod("Install", inParams, null);
                retVal = outParams["ReturnValue"].ToString();

                retVal_install(app, inParams, retVal, item);
            }

            Console.ReadKey();

        }

        public static void retVal_install(string[] _app, ManagementBaseObject _inParams, string _retVal, string _item)
        {
            switch (_retVal)
            {
                case "0":

                    Console.WriteLine("The installation " + _item + " completed successfully.");

                    break;

                case "1619":

                    Console.WriteLine("This installation package \n\r\n\r " + _inParams["PackageLocation"] + "\n\r\n\rcould not be opened, please verify that it is accessible.");

                    break;

                    Console.WriteLine("This installation package \n\r\n\r " + _inParams["PackageLocation"] + "\n\r\n\rcould not be opened, please verify that it is a valid MSI package.");

                    break;

                default:
                    Console.WriteLine(_retVal);
                    break;
            }
        }
    }

Необходимо, чтобы удаленная установка возвратила значение 0 (установка успешно завершена).

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