Проект установки WIX не полностью удаляет приложение - PullRequest
0 голосов
/ 05 сентября 2018

Я довольно новичок в WiX и установщиках, поэтому, пожалуйста, ответьте на этот вопрос.

Я создал проект установки WiX для установки моего приложения на C #, и мне удалось его успешно установить с помощью папки в папке Files Files и ярлыков для папки рабочего стола и приложения.

Моя проблема заключается в том, что когда я удаляю программу либо с помощью msi, сгенерированного проектом установки, либо с помощью опции удаления в программах добавления / удаления, ярлыки остаются, а приложение остается в папке Files Files. Вот мой код:

<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="Update Tool" />
  </Directory>
  <Directory Id="ProgramMenuFolder">
    <Directory Id="ApplicationProgramsFolder" Name="Update Tool" />
  </Directory>
  <Directory Id="DesktopFolder" Name="Desktop"/>
</Directory>

  <Fragment>
<DirectoryRef Id="ApplicationProgramsFolder">
  <Component Id="ApplicationShortcut" Guid="*">
    <Shortcut Id="ApplicationStartMenuShortcut"
              Name="Update Tool"
              Description="Update Tool"
              Target="[INSTALLFOLDER]Updater.exe"
              WorkingDirectory="APPLICATIONROOTDIRECTORY"
              Icon="icon.ico"/>
    <RemoveFile Id="remove_menushortcut" Name="Update Tool" On="uninstall"/>
    <RemoveFolder Id="RemoveApplicationProgramsFolder" Directory="ApplicationProgramsFolder" On="uninstall"/>
    <RegistryValue Root="HKCU" Key="Software\Microsoft\Update Tool" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  </Component>
</DirectoryRef>
<DirectoryRef Id="DesktopFolder">
  <Component Id="ApplicationShortcutDesktop" Guid="*">
    <Shortcut Id="ApplicationDesktopShortcut"
              Name="Update Tool"
              Description="Update Tool"
              Target="[INSTALLFOLDER]Updater.exe"
              WorkingDirectory="APPLICATIONROOTDIRECTORY"
              Icon="icon.ico"/>
    <RemoveFile Id="remove_applicationshortcut" Name="Update Tool" On="uninstall"/>
    <RemoveFolder Id="RemoveDesktopFolder" Directory="DesktopFolder" On="uninstall"/>
    <RegistryValue Root="HKCU" Key="Software\Microsoft\Update Tool" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
  </Component>
</DirectoryRef>

Кто-нибудь может указать, что я делаю не так или что мне нужно иметь? Спасибо

1 Ответ

0 голосов
/ 06 сентября 2018

Несколько экземпляров? : Есть ли в приложении «Установка и удаление программ» более одной записи для вашего приложения? Если это так, попробуйте удалить их все и посмотреть, исчезнут ли элементы и файлы ярлыка. Имейте в виду, что это могут быть «экспериментальные примеры», которые вы больше не помните. Попробуйте чистый виртуальный компьютер, чтобы убедиться, что удаление удаляется после новой установки.

Updater.exe : я вижу, у вас есть "Updater.exe". Вы загружаете файлы приложения с сервера, используя этот файл EXE, чтобы запустить процесс? Если так, то это не предназначенное использование MSI и WiX. При загрузке файлов из общего ресурса игнорируются важные функции развертывания, такие как transaction control, rollback, file registration, file inventory и т. д. Если вы собираетесь загружать файлы, подобные этим, вы можете также развернуть ярлыки с использованием технологии не-MSI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...