1
Я создал установщик wix, используя тепло cmd. При удалении все файлы удаляются, но не все папки удаляются. это соответствующая часть моего кода:Wix - удалить удаленные файлы, но не папки
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)">
<Directory Id="companyDir" Name="companyName">
<Directory Id="INSTALLFOLDER" Name="AppName">
<Directory Id="INSTALLDIR" >
<Directory Id="bin" Name="bin">
<!-- Auto-start via Registry -->
<Component Id="AppNameAutoStartUp" Guid="MYGUID">
<Condition>AUTOMATIC_START_UP=1 OR Installed</Condition>
<RegistryValue Id="App.rst" Root="HKCU" Action="write" Key="Software\Microsoft\Windows\CurrentVersion\Run" Name="AppName" Value="[#AppName.exe] -sc" Type="string" />
</Component>
</Directory>
<Directory Id="docs" Name="Docs">
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="CommonAppDataFolder">
<Directory Id="ConfCompanyDir" Name="Company">
<Directory Id="CONFINSTALLFOLDER" Name="AppName">
<Directory Id="CONFINSTALLDIR" >
<Directory Id="conf" Name="conf">
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<!-- Shortcuts and Directories for Shortcuts -->
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="AppName">
<Component Id="ProgramFilesShortcut" Guid="MYGUID">
<Condition>DESKTOP_SHORTCUT = 1</Condition>
<Shortcut Id="desktopAppName" Directory="DesktopFolder" Name="AppName" Target="[#AppName.exe]" WorkingDirectory="bin" Icon="AppIcon.ico">
</Shortcut>
<RemoveFolder Id="ProgramFilesShortcut" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
<Component Id="ProgramMenuDir" Guid="MYGUID">
<Shortcut Id="startmenuAppName" Directory="ProgramMenuFolder" Name="AppName" Target="[#AppName.exe]" Icon="AppIcon.ico" WorkingDirectory="bin" Arguments="-s">
<!-- Set the AppID in order to get toasts to work -->
<ShortcutProperty Key="System.AppUserModel.ID" Value="Company.AppName" />
</Shortcut>
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Name="installed" Type="integer" Value="1" KeyPath="yes" />
</Component>
</Directory>
</Directory>
<Directory Id="DesktopFolder" Name="Desktop" />
</Directory>
Документы папка удаляется при удалении, но папка бен не удаляется (хотя он пуст, все файлы будут удалены). Кто-нибудь знает, почему он не удаляется?
Я не уверен, что понял, что вы отвечаете. Я попытался добавить вашу линию между моими строками следующим образом: (но это не сработало) <Идентификатор компонента = "Очистка файлов" Guid = "MYGUID"> <Идентификатор RemoveFolder = 'CleanupApplicationFolder' On = 'деинсталлировать' /> –
eskadi
Set 'Справочник = "INSTALLFOLDER"' к этому _Component_, а затем попытаться – Buzka91
я не могу установить 'Directory' атрибут, потому что он вложен под элементом Directory. При попытке сделать это при ошибке компиляции. – eskadi