Следующие шаги были выполнены:WiX незначительные обновления не удаляет старый ярлык
- Setup1.msi был построен в VS2005 + WiX 3.0 (.NET Framework 2.0).
- Версия 1.0.0.0 была установлена программой Setup1.msi.
- Для несовершеннолетнего обновления на Setup2.msi был построен (Setup2.msi отличается от Setup1.msi ТОЛЬКО в ProductVersion = «1.0.1.0»)
Следующая Patch.wxs была подготовлена:
<Patch AllowRemoval="no" Classification="Update" Comments="..." Description="..." DisplayName="..." Manufacturer="..." TargetProductName="..."> <Media Id="1000" Cabinet="MyPatch.cab"> <PatchBaseline Id="MyPatch" /> </Media> <PatchFamily Id="MyPatchFamily" Version="1.0.1.0" ProductCode="...THE SAME AS IN Setup1.msi..." Supersede="yes"> <ComponentRef Id="CMP_Program_EXE" /> <ComponentRef Id="CMP_Desktop_Shortcut" /> <ComponentRef Id="CMP_ProgramMenu_Shortcut" /> </PatchFamily> </Patch>
Patch.msp был создан с помощью службы подсвечника, света, фонари и пиротехники.exe.
Следующая команда была вызвана:
msiexec /p Patch.msp REINSTALL=ALL REINSTALLMODE=vomus
В результате Program.exe был обновлен и новые ярлыки были созданы «v 1.0.1.». Однако старый ярлык «v. 1.0.0» остался как на «DesktopFolder», так и на «ProgramMenuFolder».
Как я могу заставить патч удалить старый ярлык?
Спасибо заранее.
Спасибо, Алексей, похоже, RemoveFile решает проблему – user536443