2014-02-02 4 views
0

Я пытаюсь установить 3 msi драйверы один за другим. Есть все в одной папке, и я использую те же attrubutes для всех из них/Установка msi с C# не работает должным образом

Я уже делал это раньше, и все получилось хорошо, но теперь я не знаю, что может пойти не так.

string attributesToDownload = "REINSTALL=ALL /qb- /norestart"; 
Process proc = Process.Start("msiexec.exe", string.Format("/i \"{0}\" {1}", driverPath, attributesToDownload)); 
proc.WaitForExit(); 
return proc.ExitCode; 

Любопытная вещь: Для первого драйвера мой ExitCode является 1603. Для второго Sriver ExitCode является 0, но водитель на самом деле не установлен. Для третьего он работает отлично.

Когда я попытался установить первый и второй драйверы непосредственно из cmd с теми же атрибутами, которые он установил успешно. "Msiexec/я driverPath REINSTALL = ALL/qb-/Norestart"

В ожидании некоторых идей .....

+1

Если вы создали эти установки, начните с их регистрации ('/ l * v path \ to \ verbose.log'). Если вы не создали эти установки, этот вопрос, скорее всего, лучше подходит для SuperUser. –

ответ

0

Понял, я думаю .... без REINSTALL = ALL, единственный способ сделать это (что я нашел) - удалить текущую версию, а не устанавливать новую.

0

Если вы выполняете REINSTALL = ALL, чтобы заставить это работать, то вы обновляете существующий продукт, установленный в системе. Все в порядке, возможно, вы хотите исправить существующий продукт, но вам, похоже, не известно, что вы не можете установить один и тот же продукт дважды - новому нужно заплатить или обновить, как ваш REINSTALL = ALL или крупное обновление. Если вы хотите удалить старую версию, вам потребуется серьезное обновление! Нет необходимости удалять старую версию, потому что основное обновление делает это автоматически.

Смежные вопросы