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