У меня установлена программа MSI, созданная с помощью InstallShield 2009, которая устанавливает службу .NET, установив для «.NET Installer Class» значение «Да» для компонента, содержащего exe службы.
Эта базовая установка, которая содержит файлы, а exe устанавливает ОК. Я создал небольшое обновление MSP, которое обновляет exe-файл службы при первоначальной установке.
Когда я запускаю MSP в системе, содержащей базовую установку, я получаю сообщение об ошибке 1001, потому что оно пытается переустановить службу во время установки небольшого обновления MSP.
Официальный ответ Flexera на эту проблему заключается в том, что если необходимо обновить исполняемый файл .NET, то для компонента «.NET Installer Class» следует установить значение «Нет» и создать собственные пользовательские действия. Flexera также признала, что они нигде не документируют, что если вы установите для «.NET Installer Class» значение «Да», вы не сможете затем создавать обновления MSP для вашей установки. Невозможно вернуться назад и изменить базовую установку, поскольку она была выпущена, и для нее необходимо создать обновление. Я сам придумал обходной путь, включив настраиваемое действие в обновление MSP, которое удаляет службу во время установки MSP. При этом устанавливается небольшое обновление MSP, но этот обходной путь не работает для удаления MSP из ARP.
Мне нужно знать, как решить эту проблему в будущих установках. Как установить службу .NET таким образом, чтобы впоследствии можно было легко обновить службу с помощью небольшого обновления MSP?