Hii ppl Я пытаюсь передать параметр через msiexec в командной строке.Проблема в том, что если параметр передается правильно, значение не отражается в OnBeforeInstallEvent.Поэтому msi не устанавливается.
OnBeforeInstall написан на C # .net framework 2.09 (VS 2005), а вызов события приведен ниже,
string serverName = Context.Parameters ["SERVERNAME"].
Например, в настраиваемом действии параметр правильно объявлен как / SERVERNAME = [SERVERNAME] для доступа к имени сервера.
При установке в обычном режиме пользовательского интерфейса не возникает проблемКогда я передаю параметр через Msiexec, значение не отражается в событии OnBeforeInstall.Я даже попытался зарегистрировать поток установки через MSIEXEC / Log, значение изменяется в журнале (показано ниже)
ИЗМЕНЕНИЕ СОБСТВЕННОСТИ: Добавление свойства SERVERNAME.Его значение равно 'machine1'.
Я дал ниже команду msiexec, которую я использую для передачи значений,
msiexec.exe / i "C: \ Server.msi" / l * v"C: \ Server.txt" ALLUSERS = 1 REBOOT = ReallySupress TARGETDIR = "C: \ Program Files \ Server" SERVERNAME = "machine1" PORT = "9090"
, но при достижении ONBeforeInstall значение пусто (показано ниже).
Ошибка 1001. Исключительная ситуация в обработчике события OnBeforeInstall Server.ServicesInstaller.-> Установка не может быть продолжена, так как некоторые параметры установки не указаны.Дополнительная информация Имя сервера не может быть пустым.ОТЛАДКА: Ошибка 2769: пользовательское действие _542E7AC5_7403_434A_874B_DE2872A4848D.install не закрывало 1 MSIHANDLE.Установщик обнаружил непредвиденную ошибку при установке этого пакета.Это может указывать на проблему с этим пакетом.Код ошибки - 2769.
Более того, операционная система - Win 2003.Я даже попробовал Msiexec в Win XP.SERVERNAME - это имя свойства одного из текстовых полей в диалоговом окне TextBox2 комплекта установки.При просмотре журнала установки событие изменения свойства распознает изменение значения для SERVERNAME, но становится недействительным при достижении события OnBeforeInstall.
Как уже говорилось ранее, он отлично работает в обычном режиме пользовательского интерфейса.Я даже пытался изменить таблицу свойств Server.msi через ORCA (как показано ниже).
Таблица: Ряд свойств: Свойство SecureCustomProperties -> SecureCustomProperties Изменено значение с NEWERPRODUCTFOUND на NEWERPRODUCTFOUND; SERVERNAME
По-прежнему нет
Пожалуйста, помогите.
Большое спасибо
byfour