Несколько месяцев назад я разместил это question о нескольких установках, и я строго следовал предложенному мной example. Он работал очень хорошо, но я пытаюсь удалить экземпляр по умолчанию. Когда я типаНабор инструментов Wix Несколько экземпляров Установка
msiexec /x MyInstaller.msi
мое приложение «логически» удалена, но нет папки и файлы не будут удалены на моей машине!
Вот код:
<Directory Id="TARGETDIR" Name="SourceDir">
<Component Id="comp_67F76B3C_8D92_4DCF_8C51_42E51502C4A3" Guid="28C71156-F612-49ED-A4E9-0CB598AA84AB" MultiInstance="yes">
<CreateFolder/>
</Component>
<Component Id="comp_AA102B27_0657_498D_9CD5_683C4F33B5E2" Guid="0F601C97-CDFF-4614-A608-B42253240E2C">
<File Id="_C72F9A1F_AF4A_47A3_928C_238643ABA5D4" Name="CrashReportManager.exe" Source="..\workspace\Release\CrashReportManager.exe" KeyPath="yes" />
</Component>
<Component Id="comp_442142FD_D0B8_410C_8904_E73047757FAB" Guid="0A1AE820-0FF7-442C-8333-9FEFA2E3F33C">
<File Id="_CA463C5C_E397_40E6_9B7B_28CCA647D0CA" Name="BCGCBPRO2440d120.dll" Source="..\workspace\Debug\BCGCBPRO2440d120.dll" KeyPath="yes" />
</Component>
<Directory Id="dir_350BD3EA_2F6C_4AD4_A960_8AB2C40F4F36" Name="Docs">
<Component Id="DocFolderId" Guid="32DAE480-7C01-4BAA-B99D-9FE8D7D43369" MultiInstance="yes">
<CreateFolder />
</Component>
<Component Id="comp_FFFDE3FE_1205_4E74_82B1_E832501A096C" Guid="EECC223C-EBAD-43CA-9F3C-4A19FD9E7429">
<File Id="_D0FE1868_D0D7_4778_8BC6_D40FE2B21DB2" Name="ModuleList(1).txt" Source="..\ModuleList(1).txt" KeyPath="yes" />
</Component>
<Component Id="comp_07E32598_CA8D_46B6_A3D6_DA36FD308E1F" Guid="FCCC41AA-17BC-4ADA-925D-631A614C9F80">
<File Id="_894CFDFB_4514_4CAC_86C3_426CC6836B7C" Name="ModuleList(2).txt" Source="..\ModuleList(2).txt" KeyPath="yes" />
</Component>
<Component Id="comp_21465088_A65C_43D4_A038_93412404BA91" Guid="67D18D29-6466-4D36-A279-A9396A62019C">
<File Id="_C9362477_88D8_463C_B77D_7097255F5E13" Name="ModuleList.txt" Source="..\ModuleList.txt" KeyPath="yes" />
</Component>
<Component Id="comp_3C85BB37_5715_45E7_A135_C640D7348360" Guid="6DDB0F88-7346-4221-8FB1-106C5F707EE5">
<File Id="_BFE55263_BD18_427B_9F87_30403BB2540D" Name="ReadMe.txt" Source="..\ReadMe.txt" KeyPath="yes" />
</Component>
</Directory>
</Directory>
Что случилось?
в данном конкретном примере, вам не нужны компоненты с ' ' внутри. Пока есть другие компоненты с файлами, родительский каталог для этого будет создан. Таким образом, вы можете попытаться удалить это и посмотреть, что произойдет. И BTW, есть ли какие-либо предупреждения, когда вы компилируете/связываете свой MSI? –
При установке нескольких установок на одном компьютере во время создания вашего установщика вы можете попасть в ситуации, когда у вас есть ссылки на фантомные компоненты или поддельные установки. Вы должны запустить с помощью '/ l * v log.txt', чтобы узнать, ссылались ли на некоторые компоненты несколько установок. Кроме того, если у вас есть условные функции, которые по умолчанию не установлены, это может вызвать проблемы, если вы не устанавливаете «или Установили» в условие, позволяющее этой функции не удовлетвориться во время удаления. –