SB1 - How To Run a Local App From Applications Screen?

// Expert user has replied.
K Khai-Van Phu 2 years 11 months ago
1 3 0

Hello Launchpad's members,
 
 
SB1's Applications Screen can run WEB or EXE local app.
 
As example Demo-MWM and Demo-Scan are both HTML app and RD Client is a thick client EXE app (see Fig 1.).
 
SB1's file /UserDrive/config/apps.json defines the authorized applications (see Fig. 2).
 
 
Fig 1. Launcher

 
Fig 2. Content of apps.json
{
  "name": "RD Client",
  "url": "rdClient"
},
{
  "name": "Demo-MWM",
  "url": "/Application/www/apps/DemoMWM/splash.html",
  "icon" : "http://127.0.0.1:83/Application/www/apps/DemoMWM/img/profile.png",
  "canOverwriteBadge": true
},
{
  "name": "Demo-Scan",
  "url": "/Application/www/apps/PriceCheck/index.html",
  "icon": "http://127.0.0.1:83/Application/www/apps/PriceCheck/price_check_icon.png"
}
 
 
According to the syntax of apps.json I understand how Demo-Scan & Demo-MWM's URL are mapped in SB1's system files.
For RD Client's URL it less obvious.
How "url": "rdClient" knows how to call \Windows\RdClient.exe in order to execute RD Client program ?
 
My goal is to mimic the same functionnality but for a custom loaded EXE.
 
 
Khai-Van PHU

Please register or login to post a reply

3 Replies

K Khai-Van Phu

Hi,

I was able to find out how to launch a non web app stored in the memory of SB1 from the Shell Launcher.
To do so, I had to write the HTML code below.
Once the program exits, I am get back properly to the Shell Launcher.

Here is the code.

 
      
      
      
      
 
 
      
            window.onload = function() {
                 var hProcess = generic.LaunchProcessNonBlocking('\\"Program Files"\\ScannerDemo\\ScannerDemo.exe', '');
                 var bRetVal = generic.WaitProcess(hProcess, 5);
                 if(bRetVal) {
                      asl.exit(); }
            }
      
 

Khai-Van PHU

V Vedsatx Saddvv

While it is possible to run a native exe on the device, we do not support that for user apps.  This is intended to be a thin client device. The only supported way to write an app for the SB1 is to use HTML/CSS/Javascript using the provided SB1 and RhoElements APIs. 

There is no EMDK support for theses devices, and if you wanted to use .Net, you would probably have a hard time getting compact framework to load (not enough room).  If you have a native app running, you would also have issues with the shell and scanner not working properly (if at all).  While there are a few limited purpose native executables on the device (for staging and device management), this is not intended to be a way for you to write apps for it.

Is there something that you want to do that is not supported by the provided APIs?

K Khai-Van Phu

Hi Dan,

Your are right. SB1 officially runs web app.

But technically speaking SB1 can run apps written in other programming language.

SB1 onboards 128Mb/128Mb RAM/Flash memory. This is large enough to run any programs other than HTML/CSS/JS.

Remember MC3000 ?

Could you please have a look at this video showing SB1 running Citrix Client ?

My goal is to create an icon from the SB1 launcher to initiate the Citrix connection.

Khia-Van PHU

CONTACT
Can’t find what you’re looking for?