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
3 Replies
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
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?
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