Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 2482
  • Last Modified:

How to add local flash file to trusted locations programmatically

Hi, Experts.

I will appreciate any help on the issue of installing a flash-based website locally.

I have written an elaborate website featuring multiple flash educational mini-games, with html-based framework wrapping the whole thing up. Flash files use ExternalInterface to call functions (mostly navigation) from underlying html files.
None of the functionality requires any server-side scripting.

It all works perfectly while deployed on the web. But, one of the required deployment modes is deploying on local computer (via CD-Rom or local installation). I've made sure all the functionality is preserved in this mode.

Now, the problem is with ExternalInterface calls. Flash player's security by default blocks ExternalInterface when running local SWFs embedded in local HTML. The solution (which works) is to manually open the global security settings and add the folder containing the flash files to locally trusted list.
(i am referring to this panel: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html or the likes)

The question is - how can I do it programmatically, via install script that comes with the CD-Rom, and without forcing end-users changing security settings manually.

Technical notes:

1) The flash is compiled using Flash SDK (mxmlc)

2) The flash is written in ActionScript 3 for flash 9-10 or later. Flash 9 can't run some of the resulting SWFs due to known bugs in Flash 9.

3) The flash applications use additional libraries (swf files) for resources, which they download from relative path (i.e. from local disk if installed locally). This part works fine.

4) Using Flash IDE for any part of the solution is unacceptable (I have hundreds of files, the only way to recompile them must be automated (now i rebuild them using script that runs mxmlc)
5) Solution that works on both Windows and MacOS is preferred (linux is a bonus)

Please note that the end users will be running this in browser, not on standalone flash player or any debug player.

Also, I've tried creating .cfg files in C:\WINDOWS\system32\Macromed\Flash\FlashPlayerTrust - to no avail.

If the solution is via editing settings.sol, I will need a preferably free SDK or DLL to allow changing it programmatically.
0
mico20
Asked:
mico20
  • 3
  • 2
1 Solution
 
deepanjandasCommented:
You cannot set that settings programatically, that will require manual input atleast for the first time.

This is due to security imposed on Flash Player in accessing clients' machine.

Warm Regards
Deepanjan Das
0
 
mico20Author Commented:
Perhaps, you misunderstood the situation. I know I shouldn't be able to change this setting from neither flash nor html files or any other web entity - otherwise, it would be worthless security-wise.
In my case, however, I have a setup.exe (or the equivalent) that will be run by user (I can even require administrative permissions for this one), and that should be able to access any local setting...

It seems I have found at least a partial solution, though it is a bit convoluted. If no better solution is found here, I'll have to close the question on it. Here it is:

1)Installer runs a flash applet locally, to create a local shared object with some dummy settings
2)Installer locates that LSO in the filesystem
3)Installer copies system.sol into that folder and makes it writable for the flash applet
4)Installer runs the flash applet again, that this time, patches the system.sol with needed trusted folder
5)Installer replaces the original system.sol with the patched one.

This has been feasibility tested (but not yet completely implemented) on at least Windows XP.
0
 
deepanjandasCommented:
I have not done anything which involves writing the settings.sol directly from the installer.
So will not be able to suggest on this.

Are you using MDM as installer.

Warm Reagrds
Deepanjan Das
0
 
mico20Author Commented:
Ok, as expected, nothing is really impossible.
Turns out, .sol file format is quite simple and is derived from .amf format. I ended up using hxformat library with haXe language (for cross-platform portability) and was able to edit the permission files directly. The solution works perfectly for both MacOS and windows.
0
 
mico20Author Commented:
No solution was given by the experts. I had to find, develop and use my own solution, with the help from haXe development team.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to Squarespace.com and use offer code ‘EXPERTS’ to get 10% off your first purchase.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now