Running installable cloud apps

Failed to get the app publisher from the server

The following error occurs when trying to run the installable cloud app for the first time.


The cloud app launcher has not been uploaded to the server.


Upload the app launcher and runtime files according to the instructions in Upload the cloud app launcher and the runtime files; and then run the application again.

Cannot start cloud app launcher

The Cloud App Launcher failed to start even if the launcher has already been installed.


The client machine has third-party firewall tool, such as Sophos. The process of Sophos such as swi_filter.exe and swi_service.exe block the access to the application URL.


Configure the firewall to allow access to the following IP address and port numbers:

Cannot connect to the server when creating the session

The following error might occur when you run an installable cloud app: Cannot connect to the server when creating the session.

Cause A:

The PowerServer Web API server might have its IP address changed, for example, it is set to obtain IP address automatically.

Solution A:

Set a static IP address or a domain name for the PowerServer Web API server.

Cause B:

The PowerServer Web API server might have set up a firewall and the firewall might not allow the specified port number to go through.

Solution B:

Configure the firewall on the API server to allow the specified port number to go through.

Slow app performance with SQL Anywhere

The app runs slowly when working with the SQL Anywhere database.


Select the Pool Connections to this driver option in the ODBC Data Source Administrator to speed up the performance.

App requires login again

The app might require the user to log in or run again on a daily basis.


In IIS, application pools are recycled every 1,740 minutes by default. The session in a running app will become invalid after the recycle period is reached, so the user has to log in or run the app again.


Set the Regular Time Interval to 0 to stop recycle, or set to other duration.

Different results returned from an ASE stored procedure

For an ASE stored procedure, for example the following one, the results returned from the installable cloud app and the PowerBuilder C/S app might be different.

CREATE PROCEDURE g_qaQuestionSelect
DECLARE @quest_seq tinyint, @ErrorMessage varchar(255)
SELECT @quest_seq = NULL
 IF @quest_seq = NULL   /* here is the error checking @quest_seq = NULL ,  currently fixed it using  IsNull(@quest_seq,0) = 0 */
      SELECT @ErrorMessage = 'ERROR.'
      SELECT @ErrorMessage = 'DONE.'


PowerServer connects to ASE through the ODBC driver, while the PowerBuilder C/S app connects to ASE through the native driver. The default values of Set ANSI Null option in these two drivers are different.


De-select the Set ANSI Null option in the ODBC Data Source Administrator.

SelectBlob data truncated

The data values of the SelectBlob variable are truncated in the installable cloud app.

Cause & Solution:

PowerServer connects to ASE through the ODBC driver, while the PowerBuilder C/S app connects to ASE through the native driver. The Text size option in the ODBC driver is 32KB by default.

You can increase the text size value using the Control Panel

  1. Select Control Panel | Administrative Tools | Data Sources (ODBC), then select the data source for Adaptive Server Enterprise in the User DSN or System DSN tab.

  2. Select Configure to display the ODBC Adaptive Server Enterprise Setup window, then select Advanced.

  3. Change the value for Text Size to a larger value (the default value is 32KB). The Adaptive Server ODBC drive truncates any data value that is larger than the value you set here.

RibbonBar control displays blank

In the installable cloud app, the RibbonBar control displays blank.


The script file (XML/JSON) that is used to create the RibbonBar control is not selected and deployed with the project.


1. Open the PowerServer project object, go to the External Files tab, select Files preloaded in uncompressed format and then click Add Files to add the RibbonBar script file (XML/JSON).

2. Deploy the PowerServer project again to make the change effective.

File name containing character + cannot be downloaded

If the file name contains the character "+", an 404 error will occur when the file is downloaded from the IIS Web server.

Cause & Solution:

In IIS Manager, select the website, and then double click Request Filtering on the Features View; and then click Edit Feature Settings in the Actions pane.

In the Edit Request Filtering Settings dialog box, select Allow double escaping.

Cannot retrieve data when data includes null values

The following error occur when retrieving data: The property does not allow null value: Object_Ref.

Cause & Solution:

When converting the DataWindow to the model, the nullable property is not correctly set. You can search for the problematic object (for example, Object_Ref) in the exported models in the PowerServer Web API solution, and modify it to allow null values. For example,


        [DwColumn("disp", "object_ref")]
        public long Object_Ref { get; set; }


        [DwColumn("disp", "object_ref")]
        public long? Object_Ref { get; set; }

PBSELECT DataWindow error

The DataWindow created with PBSELECT crashed or GetSQLSelect returns an error when retrieving data.

Or the DataWindow created with PBSELECT cannot be converted to the model successfully.

Cause & Solution:

There are syntax errors when PowerServer converts PBSELECT to SELECT. It is recommended that you convert PBSELECT to SELECT in PowerBuilder first and then deploy the application with PowerServer again.

"HTTP Error 404.2 - Not Found" error when running the app

When you run the application which is hosted in the IIS Web server, you get the following error:

HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.


The IIS server settings block the download of the CloudAppLauncher_Installer.exe file.


In the IIS Manager, expand the server's node and then the Sites node in the Connections panel, select the website where the application is hosted, and then double click Handler Mappings on the Features View, and set CGI-exe to Disabled.