как запустить один .msi под родительским MSI, выдает ошибку «Идет другая установка ...» - PullRequest
0 голосов
/ 24 июня 2010

Я создал файл DLL настраиваемого действия со встроенным ресурсом как SQL Server Compact Edition msi ... эта dll назначается как настраиваемое действие в проекте установки ... но когда я запускаю установку msi, выдается ошибка, говорящая о том, что другая установка Выполняется ... Я пытался использовать параметры process.waitforExit (3000) в коде, но все еще не смог найти решение? Пожалуйста, ответьте

Ответы [ 4 ]

2 голосов
/ 24 июня 2010

Существует два основных способа включения зависимостей в вашу установку. Либо через загрузчик, который запускается перед вашим msi-файлом, либо как модуль слияния. Поскольку это продукт Microsoft, я сомневаюсь, что он доступен как модуль слияния.

Другими словами, вам, вероятно, следует использовать загрузчик для вашего приложения. Попробуйте dotNetInstaller

1 голос
/ 24 июня 2010

Другой вариант - MSI-цепочка , хотя он не был представлен до MSI 4.5 и потребует, чтобы на целевой системе была установлена ​​MSI 4.5 или более поздняя версия.Прямо сейчас только Windows 7 имеет встроенную поддержку, но есть более распространяемые версии 4.5 для более старых версий Windows.Наконец, имейте в виду, что обновление MSI с помощью распространяемой версии 4.5 обычно требует перезагрузки.

0 голосов
/ 29 июня 2010

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

Либо вкладывайте средства в загрузчик / цепочку, либо существует другая возможность, поскольку выпуск SQL Server Compact настолько мал, что они также поддерживают частную модель развертывания, при которой вы просто развертываете сборки в каталоге своего приложения. Проблема с этим подходом заключается в том, что если у Microsoft когда-нибудь появятся обновления безопасности для этих сборок, они не смогут их обслуживать. Вам придется пересобрать и развернуть свой продукт.

0 голосов
/ 27 июня 2010

Нужна ли поддержка автоматической установки?Насколько я помню, ваша установка не получит блокировку службы Installer, пока не войдет в последовательность выполнения.Это означает, что вы можете начать установку SQL Server где-нибудь в вашей последовательности пользовательского интерфейса.

...