Skip to main content
Inspiring
September 17, 2013
Question

[Desktop] Pre-configured installs

  • September 17, 2013
  • 2 replies
  • 589 views

Any suggestions on how to create pre-configured installers of the same base app? Here's an example of what I mean:

App: This base app connects to a configurable server domain. You could install and use this app just fine.

App for ClientX - This app should connect to serverX, and I want to pre-configure it to do so. It may also have custom configured branding for ClientX.

App for ClientY - This app should connect to serverY, etc.

So I want to be able to give ClientX an installer (or install link) that installs the App pre-configured to connect to their serverX, and I want to give ClientY an installer that connects to their serverY, but I want both to be the same application, built from the same codebase, with the same appID and certificate, and receive the same updates, etc.

I've considered using compile constants to create different AIR app versions with populated strings, which I think would work though a bit clunky, but would result in different versions of the app, when what I really want is to have the SAME version configured differently.

What I am currently doing is making a config file that can be shared, so the main app is installed then the client opens the config file with the app (file association makes this relatively easy, but still very manual feeling.) I would essentially like to automate this, so the end user only needs to run the installer.

The next step would be automating this process, so that when ClientZ purchases the app it uses ClientZ's information to provide an installer configured for ClientZ without manual human intervention. You know, for when my app inevitably gets famous and makes me rich.

Any suggestions?

Thanks all!

-Aaron

This topic has been closed for replies.

2 replies

Inspiring
September 19, 2013

Well I'm not quite sure this fits your scenario but maybe (assuming your clients install your app from a website)...

You can use the swf (badge) method of installing AIR apps through the browser: http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118666ade46-7e15.html

This would give you the ability to pass in arguments into the install process. http://help.adobe.com/en_US/AIR/1.5/devappsflex/WS5b3ccc516d4fbf351e63e3d118676a5d46-8000.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7e19

Basically you set your air app to "<allowBrowserInvocation>true</allowBrowserInvocation>" and add a listener for the BrowserInvokeEvent(not InvokeEvent)

Do what you want with the parameters (maybe save to a flash shared object) to remember who it was.

Then for distribution, provide a client only page, that passes flash vars into the badge swf, which passes them to the app for install.

I recently used this method in this way. I'm building a video conference app that can send invitations via a URL (videoapp.com?id=abcdefghijklnop).. On that page I have the badge (swf) that recieves that invitation through flash vars. The badge does the install of the AIR app and passes the invitation once it runs.

Note: I had to modify the default badge.swf to include my additional flash vars.


Other than this, I dont know of any way to add arguments to just a regular passed around .air file.

Inspiring
September 19, 2013

Thanks for the response!

I didn't know you could pass install arguments through an install badge, that's actually almost exactly what I want. I would love a way to do the exact same thing without an install badge, but even needing to use an install badge is not a deal breaker. Thanks!

-Aaron

Inspiring
September 19, 2013

Sorry to be lame and bump my own thread, but anyone have any suggestions on supplying clients with pre-configured versions of my app?

-Aaron