2

I've been working on a SWF that will be converted into a Projector file, no particular great shakes but some fun logic driving some aspects. Written Flex 4.5 it has been a doddle until I test the projector on a new / clean machine and without (v important this) a network connection. What happens is the movie fails with an...

Error #2032: Stream Error: URL: file:///C:|/mydirectory/framework_4.5.0.20967.swz

...after some research I realise this is an RSL (Runtime Shared Library) that is cached on the local machine (WIN7) under the 'C:\Users\\AppData\Roaming\Adobe\Flash Player\AssetCache\<8 Char Path>\' along with a host of other RSLs. But in my disconnected state it doesn't work, however, if the machine is connected it does work (by downloading and caching the appropriate libraries from Adobe). Unfortunately I need to deploy this Projector file as a single entity and often into disconnected scenarios. Reviewing Flex's build options I've selected 'Merged into code' for the Framework Linkage that I assumed would create my single, deployable object but alas no.

Is there any way of compiling these RSLs into my deployable SWF / Projector without requiring an Internet Connection?

Thanks in advance

SeanCocteau
  • 1,838
  • 19
  • 25

2 Answers2

5

OK, nailed it. After resetting all the build option (after another clean) to 'Merged Into Code' and pointing the 'Source Attachment' value to the appropriate SDK\Frameworks\RSLs directory (and again this didn't work). It turns out adding the following switch in the compiler arguments did the trick...

-static-link-runtime-shared-libraries=true

...from Adobe this ensures that the Framework classes are actually compiled into the SWF.

Thanks for the support Flextras!

SeanCocteau
  • 1,838
  • 19
  • 25
1

When you compile the app; switch the framework type from RSL to Merged Into Code. Your problem should go away.

This is an option in the Flash Builder Project Properties. Look under "Build Path", then "library path." Change the Framework Linkage drop down.

JeffryHouser
  • 39,401
  • 4
  • 38
  • 59
  • Er - I mentioned that I tried this (see above) and it doesn't work. – SeanCocteau Sep 21 '11 at 11:19
  • 2
    It is there; I'm guilty of bad reading. However, I still believe this is the correct solution and am unclear why it isn't working for you. AFter changing framework linkage type did you export a new release build? Did you clean the project? Did you check the individual framework SWCs to validate their link type? – JeffryHouser Sep 21 '11 at 11:29
  • The default linkage type was merged-in-code. I have swapped this around to ensure any reconfiguration would work, but again no. Yup, cleaned the project and recompiled (beforehand) and no. Finally, I have validated each link type through the 'Flex Build Path' dialog and can confirm that the Link Type is set to 'Merged into code' and that the 'RSL URL' has been set to 'n/a' - and again, even with these settings it doesn't work. – SeanCocteau Sep 21 '11 at 13:12
  • ah - not good. So routes forward. Copy the swz files into the root of my applicable (not ideal) or create a compiled SWZ library? – SeanCocteau Sep 21 '11 at 13:54
  • 2
    I know that SWZ files are special SWCs signed by Adobe. Unless you have friends in the deep recesses of Adobe; I don't think you'll be able to create your own SWZ file. Deploying the SWZ files with your SWF sounds like a workable option, even if not ideal. You may investigate other options of compiling your SWF too; such as the command line compiler because the behaviour your documenting could be a bug or other oddity. – JeffryHouser Sep 21 '11 at 14:26