When JExpress installs your application it also configures your customers' systems so your product can be easily uninstalled. As soon as the uninstaller starts, it confirms that the user wants to uninstall your app before it takes any other action. You can customize the uninstaller, or not prompt the user, or make it completely silent. As always with JExpress, you have full control.

Launching the Uninstaller

If the target machine is using Windows, then the Uninstaller is fully integrated into the Control Panel's Add/Remove program. Optionally, if you want a menu item for the uninstaller, then you can adapt the UninstallMenu.java class in the Samples subdirectory.

If the user's machine is running Mac OS X, then an Uninstall app is installed in your application's directory. All other unix machines, have an uninstall script ready in your application's directory to remove your app.

Silent Uninstaller

You can preconfigure the uninstaller to always be silent when you design your project. Go to the Custom panel in the Advanced interface and click on the Uninstaller tab. When you set the uninstaller style to silent, then it will run without any visibile interface.

You can also create a wizard or click free installer which you then force to be silent when it's launched from the command line or programmatically. Even if you create an uninstaller which usually prompts the user before uninstalling, the -q command will force the uninstaller to skip prompting the user.

Simply add a "-q" (without the "") to the uninstaller's command line. If you're running the uninstaller on Mac, Solaris, or Linux, then add the -q switch after the com.denova.JExpress.Uninstaller.JExpressUninstaller classname. If you're running the uinstaller on Windows, then get the command to start the uninstaller from the registry and add the -q switch at the end of the command line.

Important: The silent uninstaller still requires a GUI environment to run.

Customizing the uninstaller

If you want to add custom classes after the user is prompted to confirm they want to delete your app and before the uninstall process begins, then extend the WizardPanel just like you do when you customize the installer or updater. Add your custom classes to the Custom | Uninstaller tab when you start JExpress with the Advanced interface. use the Advanced user interface.

If you wrote custom classes for the installer which added any special files or changed any registry entries, then your custom installer classes should also remove those special files and restore the registry. Learn more about configuring the uninstaller to remove files, registry entries, etc.

Multiple Target Directories and Uninstaller

If you want an uninstaller for a multiple target directory installer, then you'll need to prepare a custom panel to manage the uninstaller.