2013-05-06 4 views
2
<ExePackage Id="PackageID1" DisplayName="xxx" Compressed="yes" 
       SourceFile="..\xxx\MyExe.exe" Vital="yes" 
       InstallCommand="parameters to the exe" 
       UninstallCommand="parameters to the exe"/> 

Когда я вызвать действие Uninstall:WiX Загрузчик: Удалите пакеты в цепи

this.Engine.Detect(); 
this.Engine.Plan(LaunchAction.Uninstall); 
this.Engine.Apply(System.IntPtr.Zero); 

exePackage не получает вызван. Однако во время установки он входит в пакет exe с правильными параметрами.

Я что-то упустил?

+0

Файл журнала Burn создает в% TEMP% может вам помочь. Можете ли вы опубликовать это здесь? –

ответ

3

Для вашего ExePackage вам нужен атрибут DetectCondition. DetectCondition - это то, как движок Burn определяет, установлен ли пакет на машине или нет. Без DetectCondition двигатель будет считать, что пакет никогда не установлен, поэтому его никогда не нужно будет удалять. Поскольку все исполняемые файлы различны, вы должны предоставить свой собственный DetectCondition. Обычно элементы XxxSearch в пространстве имен util полезны для определения того, установлен ли ваш исполняемый файл.

Примечание: вы можете увидеть «план» в файле журнала, и он должен показать, что пакет PackageID1 обнаружен как 'Absent', даже если он установлен.

+0

Да ... сейчас он работает :) Спасибо. – microsoftprogrammer

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

  • Нет связанных вопросов^_^