2009-07-15 2 views
3

Это моя ситуация.Установленная программа WIX не удаляется правильно

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

А является WindowsService, B является WCF службы Windows

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

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

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

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

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

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

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

Баку

ответ

0
  1. У вас есть дубликаты GUIDs в настройках? убедитесь, что контуры компонентов уникальны, и в обеих установках не используется указатель.
  2. Вы используете ServiceInstall для удаления услуги при удалении?
+0

Где я могу найти компонентные контуры? вы говорите о WIX updateecode или руководстве по сборке проекта? Мои updateecodes отличаются друг от друга, а мои сборки сборки служб различны. – 2009-07-15 20:20:28

+0

Я использую программы AddRemove, удаляю программу (услугу). – 2009-07-15 20:24:46

+0

@Baku, вы хотите посмотреть атрибуты Component/@ Guid. Это описание звучит так, как будто вы нажимаете «Правила компонентов»: http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101 –

-2

Прежде чем использовать служебную программу CleanUp для установщика Microsoft Windows. Может быть найден here.

+1

Ug, не используйте MsiZap (или оболочку UI, называемую " Установщик Windows Installer CleanUp). Он не очищает: http://robmensching.com/blog/posts/2009/3/6/More-on-Haacks-Troubleshooting-Windows-MSI-Installers –

+0

Блог, на который вы ссылаетесь, кажется чтобы согласиться с тем, как это просматривается здесь: «... MSIZap - последний инструмент для защиты ...» Я думал, что это то, о чем мы говорили здесь, поскольку исходный вопрос «пожалуйста, помогите .. сходит с ума .. !! ! », и мой ответ« Мне пришлось использовать ... »Поверьте мне, я пробовал все остальное, а затем у меня работала утилита CleanUp. Даже у Wiki есть« последняя попытка канава », с которой я согласен. Wiki также точно объясняет, что происходит. Вики можно найти: http://en.wikipedia.org/wiki/Windows_Installer_CleanUp_Utility – JBrooks

0

Вот как соответствующий раздел выглядит в моей 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

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

Plain Old Stan имеет хороший короткий пост в блоге об этом: http://plainoldstan.blogspot.com/2010/11/wix-installing-and-uninstalling-windows.html

Он решил эту проблему, я деинсталлировать службу из реестра. Я думаю, что это сработало: Remove = "both".

Вот узел:

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

Вам может понадобиться очистить предыдущие установки, которые вы имели, прежде чем можно переустановить и что лучше всего сделать в командной строке с помощью «СБН удалить [имя службы]».Кроме того, будьте осторожны, но вы можете найти службы в реестре в разделе «HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services»

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