Установленная программа WIX не удаляется правильно - PullRequest
3 голосов
/ 16 июля 2009

Это моя ситуация.

У меня есть две программы. Давайте назовем их программой A и программой B. Они оба используют WIX для создания пакетов MSI.

A - это служба WindowsService, B - служба Windows WCF.

Когда я устанавливаю службы, A и B устанавливаются без проблем. Без включения услуг ..

Когда я пытаюсь удалить A или B (порядок не имеет значения), установленная информация не удаляется из реестра, и служба по-прежнему отображается в консоли управления службами. Однако файлы в каталоге удалены.

Мне нужно перейти в командную строку и вручную ввести «sc delete A.exe (или B.exe)», чтобы удалить службу из консоли управления реестром и службой.

После этого вторая программа для удаления будет удалена без проблем.

Неважно, какую программу я сначала пытаюсь удалить, результат тот же.

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

Если у вас, ребята, есть идеи, пожалуйста, помогите .. сойти с ума .. !!!

Баку

Ответы [ 4 ]

0 голосов
/ 04 апреля 2012

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

Обычный Старый Стэн имеет хороший короткий пост в блоге об этом: http://plainoldstan.blogspot.com/2010/11/wix-installing-and-uninstalling-windows.html

Это решило проблему, из-за которой я удалил службу из реестра. Я думаю, к чему это привело, было Удалить = "оба".

Вот узел:

<ServiceControl Id='ControlStansWinService' Remove='both' Name='StansWinService' 
                        Start='install' Stop='both' Wait='yes' />

Вам может потребоваться очистить предыдущую установку, которая была у вас до того, как вы сможете переустановить, и это лучше всего сделать в командной строке, используя "sc delete [имя службы]". Также будьте осторожны, но вы можете найти службы в реестре в разделе "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services"

Надеюсь, это кому-нибудь поможет. Отличный установщик WIX!

0 голосов
/ 16 июля 2009

Раньше мне приходилось пользоваться утилитой очистки установщика Microsoft Windows. Можно найти здесь.

0 голосов
/ 16 июля 2009

Вот как выглядит соответствующий раздел в моем файле WiX:

<ServiceInstall Arguments="CdiTranIdSvc" Account="$(var.SvcUserDomain)\$(var.SvcUserLogin)" Password="$(var.SvcUserPassword)" Id="ServiceInstallTranIdentification" Name="CdiTranIdSvc" Type="ownProcess" Start="auto" ErrorControl="normal" DisplayName="CDI Transactions Identification">

<ServiceControl Id="ServiceControlTranIdentification" Name="CdiTranIdSvc" Start="install" Stop="uninstall" Remove="uninstall">
0 голосов
/ 16 июля 2009
  1. У вас есть дубликаты GUID в настройках? убедитесь, что направляющие компонентов уникальны, и в обеих установках они не используются.
  2. Используете ли вы ServiceInstall для удаления службы при удалении?
...