http://www.adobe.com/jp/devnet/flashplayer/articles/fp8_security.html
根本的な解決策としてはインストーラーを作りましょう と書いてあるのですが
ブラウザでお手軽に見てもらうコンテンツで、インストールしてくれー というのは敷居が高いので避けたいところです
このインストーラーに何をさせるかというと
・****.cfgというテキストファイルを作る
・その中には C:\Program Files\Sample\swfs みたいに該当するswfが入っているディレクトリまでのフルパスを記入。
これだけです。
cfgのファイル名は適当タイムスタンプあたりから生成します。
このファイルがswfの読み込まれる前に存在すると、ローカル再生の制約なくコンテンツを再生することが可能になります。
Visual Studioなどを使いこなせる方は、こんなテキストファイルを生成するちっとしたexeを作れば完了です。
でもFlash使いとしては、こういうところもFlashでこだわりたいところですね
ここでいよいよmProjectorの出番です。
●なんでも出来るよ mProjector
mProjector
このmProjectorを使うとActionScriptでファイルの生成や、ディレクトリの作成が可能なexeが作成出来ます。
今回の所定の位置にテキストファイルを書き出すことぐらい、簡単にできると思われたのですが、mProjectorも万能ではなく、書き出せる文字コードがUTFのみでした
cfgファイルはOSの文字コードに依存するようで、XPならShift-JISじゃないとダメです
もともと空のテキストをShift-JISで作っておいて、コピーして中身を入れる とかいろいろ試してみたけどうまくいきません
mProjectorは書き込む内容に日本語が含まれる時点で、UTF-8しか出力できないようです
●テキストファイルの文字コード変換
ここでさらに別のアプリ登場。文字コード変換の老舗 nkf
nkf バイナリ版
http://www.vector.co.jp/soft/win95/util/se031296.html
●mProjector用のActionScript
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
//1フレーム目
mWindow.center();
//2フレーム目
var pd:String = mSystem.getPathDelimiter();
var indexPath = mSystem.getSpecialFolder(“MYAPP”)+pd+”contents”+pd;
var folderPath = mSystem.getSpecialFolder(“PREFERENCES”)+pd+”Macromedia”+pd+”Flash Player”+pd+”#Security”;
if (!mFile.folderExists(folderPath)) {
mFile.createFolder(folderPath);
}
var folderPath = folderPath+pd+”FlashPlayerTrust”;
if (!mFile.folderExists(folderPath)) {
mFile.createFolder(folderPath);
}
mFile.writeString(folderPath+pd+”************.cfg”,indexPath);
//3フレーム目
mSystem.executeApplication(indexPath + “nkf.exe”, “-Ws –overwrite ” + String.fromCharCode(34) + folderPath + String.fromCharCode(34) ,”MINIMIZE”);
//4フレーム目
mSystem.openDocument(indexPath+”index.html”);
mApplication.quit();
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
こんな感じで。もはや説明不要ですね。Flashから一通りのファイル操作が可能です。
・3フレーム目 コマンドラインに引数を渡す部分の書き方は慣れが必要かも
・mProjectorからopenDocumentしたプロセスは独立するみたいで、親亀は終了しても影響ナシ。
各命令はドキュメントを見ましょう
http://www.screentime.com/software/mprojector/docs/index.html
以上、かなり強引ですが、起動用のアプリケーションをmProjectorで作る ということで、ノンインストールなお手軽さを残しつつ、ローカル配布コンテンツを作ることが出来ました
あ、参考にされた場合はくれぐれも自己責任で