Uninstall the client app

To uninstall the client app from the client machine:

  1. Uninstall the application by selecting the Uninstall shortcut menu from the Windows Start | [appname]. The Uninstall shortcut menu and the [appname] menu are available only when the developer selected to create the Start menu shortcut and App uninstall shortcut in the Run Options page of the Project painter for PowerServer.

    If the Uninstall shortcut menu is not available, you can run the Uninstall.exe file in the application folder, for example, %AppData%\PBApps\Applications\localhost_pssales\Uninstall.exe (%AppData%\PBApps is configurable when uploading the Cloud App Launcher and runtime files).

    Note: If the application folder name (which is named after [appname]) on the server has been changed manually, the application uninstall program will fail to run.

    The uninstall program will automatically remove the following:

    • The application shortcuts on the desktop and the Windows start menu.

    • The application folder under %AppData%\PBApps\Applications, for example, %AppData%\PBApps\Applications\localhost_pssales.

      The application folder contains all of the application files and any external files (such as UI theme files, DLLs/OCXs, images/videos, INIs etc.) that are deployed with PowerServer. This folder will be automatically deleted during the uninstall process.

    However, the uninstall program will NOT automatically remove the following:

    • The registration information of DLL/OCX files in the Windows registry.

      If you have selected to register the DLL/OCX files (using Regsvr32 by default), you will need to remove the registry information manually. Follow instructions in step 4 below.

    • The runtime files under %AppData%\PBApps\Applications\Runtime.

      The PowerBuilder Runtime files are used by all deployed apps on the client machine. You can manually delete the runtime files if they are no longer used.

    • The download folder under %AppData%\PBApps, for example, %AppData%\PBApps\Download.

      This folder stores the download statistics of the app and runtime files. It can be manually deleted.

  2. Uninstall the cloud app launcher by uninstalling Cloud App Launcher from Control Panel\Programs\Programs and Features.

    If the cloud app launcher without background service is uninstalled, the %LocalAppData%\Launcher folder will be removed.

    If the cloud app launcher with background service is uninstalled, the %LocalAppData%\LauncherWithService folder will be removed.

  3. Uninstall the cloud app service by uninstalling Cloud App Launcher Service from Control Panel\Programs\Programs and Features.

    The cloud app launcher service is installed only when the launcher with background service which supports multiple Windows users is installed.

  4. Remove the registry information of DLL/OCX files.

    The registry information of DLL/OCX files (or any other files that are installed and registered by your own) will not be automatically removed during the application uninstall process.

    To clean up the registry information of the DLL/OCX files, you can write scripts (a sample shown below) and place them in a file named ManualUninstall.cmd, place the ManualUninstall.cmd file under the same directory as the application target (.pbt) file, add ManualUninstall.cmd under Files preloaded as compressed packages or Files preloaded in uncompressed format in the External Files page, and then deploy the application.

    The scripts in ManualUninstall.cmd will be automatically run when the application uninstall program is run. (If the file requires administrator rights to unregister, you should run the application uninstall program with administrator rights.)

    You can also add scripts in ManualUninstall.cmd to clean up any other files that are installed and registered by your own.

    The following is a sample script for unregistering DLL/OCX files that are registered by Regsvr32:

    set Driver=%~d0
    set HOMEDIR=%~dp0
    %Driver%
    cd %HOMEDIR%
    regsvr32 /u .\dllname
    regasm   /unregister .\AssemblyName