Раньше я использовал Izpack для установки своего Java-приложения, и когда пользователи хотят установить новую версию, которую они просто переустановили в том же месте (C / Program Files / Jthink / Jaikoz), старые файлы заменяются на более новые файлы, и пользователю не нужно было сначала удалять старую версию.
Я создал установщик, использующий JPackage (теперь часть Java, JDK 14) для последней версии приложения, установка продолжится в том же месте. Проблема заключается в том, что JPackage применяет новую файловую структуру (подкаталоги приложения и времени выполнения), мои файлы больше не перезаписывают мои существующие файлы, поэтому теперь у меня две установки перепутаны.
Поэтому я добавил код в последнюю версию, чтобы удалить старые, больше не нужные файлы, когда я запустил свое приложение. Но проблема в том, что это не удается, потому что у меня нет разрешения на удаление этих файлов, я думаю, это потому, что они были установлены установщиком (я не уверен)
например, здесь мы показываем группы старых файлов, только система и администраторы имеют права изменять / удалять файлы.
Если я Запуск от имени администратора, тогда код удалит файлы без проблем, но клиент обычно не запускается от имени администратора, так что это не очень помогает.
Какие у меня варианты?