Uninstall a Shortcut Created with Actions
This article explains shortcut creation and how to remove shortcuts created by actions.
There are two ways to create shortcuts in Setup Factory. The first is through File Properties and the second is by using a Shell.CreateShortcut action. All shortcuts created using the File Properties method will be removed automatically when the program is uninstalled, however shortcuts created with the Shell.CreateShortcut action will not be removed automatically.
In order to remove shortcuts created using a Shell.CreateShortcut action, a Shell.DeleteShortcut action must be used. The best way to accomplish this is to use a Shell.DeleteShortcut action on the "After Uninstalling" event. Using this method, here is the order of events that will occur during uninstall:
- Perform actions listed on the "Before Uninstalling" tab
- Remove files installed by setup
- Remove shortcuts created from File Properties
- Remove folders created by setup
- Other uninstall functions
- Perform actions listed on the "After Uninstalling" tab
- Uninstall shuts down
Note: Placing the Shell.DeleteShortcut action on the "Before Uninstalling" event will generally work as well as having them on the "After Uninstalling" event. Although it is recommended that the Shell.DeleteShortcut action be placed on the After Uninstalling tab to insure that all files are deleted before the shortcuts to them are.
Here is an example of an action that creates a shortcut in the Start Menu:
Shell.CreateShortcut(SetupData.GetAppShortcutFolde rPath(), "My Shortcut", SessionVar.Expand("%AppFolder%\\file.exe"));
--GetAppShortcutFolderPath is used so the shortcut is created where it is suposed to be.
Since we created this shortcut with an action, we will have to remove it with a Shell.DeleteShortcut action on the "After Uninstalling" event. Here is the Shell.DeleteShortcut action that will accomplish this:
In general any Shell.CreateShortcut action should have a corresponding Shell.DeleteShortcut action on the "After Uninstalling" event to ensure that all shortcuts are uninstalled properly.Code:Shell.DeleteShortcut(SetupData.GetAppShortcutFolderPath(), "My Shortcut"); Notice that the Folder and Shortcut description fields for both actions are identical.
For more information please see the following topics in the Setup Factory Help:
Program Reference | Actions | Shell | Shell.CreateShortcut
Program Reference | Actions | Shell | Shell.DeleteShortcut