ExePackage возможно только для удаления? - PullRequest
0 голосов
/ 01 октября 2019

Мне интересно, существует ли в ExePackage любая комбинация параметров, которая удалит только существующий ExePackage.

Я использую для упаковки ExePackage с постоянным = yes. Это было очень тяжело для установки сторонней установки. Теперь его нужно полностью удалить, если он существует. Я попытался использовать обнаружение пакетов, которое использует сканирование ключа реестра, а затем UninstallCommand в сочетании с InstallCondition, и это всегда каким-то образом дает сбой.

  <ExePackage SourceFile="$(var.ProjectDir)../setup.exe" PerMachine="yes" Id="Setupx64Package"
              DetectCondition="VersionNT64 AND Setupx64Installed"
              InstallCondition="FALSE"
              UninstallCommand='/s /f1"[OracleIssFilePath]" /f2"C:\Uninstall.log"'>
  </ExePackage>

Это удаляет предыдущий пакет, если он существует, но если пакетне сможет установить себя снова. Это закрытие я получил. Я много гуглю и ничего не придумал. Это такой необычный вариант использования? Может быть, я пытаюсь сделать это неправильно? У меня есть собственный загрузчик, так что я думаю, что можно было бы взломать его там, но я бы предпочел этого не делать.

...