2010-09-15 11 views
-1

Existe-t-il un utilitaire java qui peut être utilisé par une application pour se désinstaller et quitter? Actuellement, j'utilise uniquement le fichier exécutable pour tester cette fonctionnalité sur une plate-forme Windows. il n'y a pas et il ne peut jamais y avoir un mécanisme d'installation sophistiqué autre que de fournir le (s) fichier (s) jar (s).Java: Comment désinstaller soi-même et quitter

File MYAPP = new File(".\\myapp.jar"); 
MYAPP.deleteOnExit(); 
System.exit(0); 

ne fonctionne que partiellement (supprime myapp.jar). Dans l'environnement Android tout ce qui est nécessaire est:

Uri packageURI = Uri.parse("package:com.co.app"); 
Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);  
startActivity(uninstallIntent); 

J'esperait l'environnement de bureau avait quelque chose de similaire.

+1

Cela dépend de la façon dont le programme a été installé et dans quel environnement (Windows/Linux/Mac). Veuillez préciser ... –

+0

Je n'utilise actuellement que l'environnement de développement pour déboguer. Dans l'environnement Android tout ce qui est nécessaire est: 'voir les modifications à la question d'origine' – jacknad

+0

Je pense que vous devriez reposer la question, mais fournir plus de détails :) –

Répondre

1

Je pense que vous auriez à écrire cela vous-même, mais vous pouvez essayer quelque chose avec File.deleteOnExit mais je ne suis pas sûr si cela va fonctionner. cela dépend si la JVM a déchargé le classpath avant d'effectuer les suppressions.

également jeter un oeil sur les paquets d'installation, par exemple NullsoftInstaller qui peut être utilisé pour créer un logiciel d'installation/désinstallation pour votre logiciel.

+0

Je n'ai pu obtenir que deleteOnExit pour fonctionner, je crois qu'il peut y avoir un problème de synchronisation entre le déchargement du classpath et les suppressions. Ce que j'ai finalement fait est d'écrire une fonction qui écrit, puis exécute un fichier de commandes Windows avec un court délai intégré. – jacknad

2

Très probablement pas.

Le programme de désinstallation est généralement créé par le même processus que celui qui a créé le programme d'installation. J'y reviendrai à la place.