読者です 読者をやめる 読者になる 読者になる

FlashDevelop 3 beta8 のFDB設定

Flash

レビュー
http://d.hatena.ne.jp/tanakahisateru/20080807/1218078130
からはや3週間、FlashDevelop 3 beta8がリリースを迎えた模様です。
http://www.flashdevelop.org/community/viewtopic.php?f=11&t=3470

リリース版は、Windows VistaUAC下で綺麗に動いたし、ソースレビューしていたときに起こっていたFDBプロセスが終わってくれない不具合も起こらないことを確認しました。

追記:↑そりゃそうだ、リリース版にはFDBプラグインが含まれてない。FDBプラグインは先送りになったのかな。というわけで、以下、ソースから独自にコンパイルした場合の話です。

前回ちょっと早合点してたのは、スタンドアロンFlashPlayerのパス設定で、どうやらFlashDevelopの設定画面では書き換えできないらしいです。FlashDevelopのFDB設定画面は単に、swfを開くデフォルトプログラムのパスを表示しているだけでした。

FlashDevelpで動くFDBのためのFlashPlayerの設定方法
Administratorsグループのユーザ(ホントのAdministratorじゃなくて、いわゆる管理者ユーザ、つまりパソコン所有者として最初に作るユーザね)がFlashPlayerを実行すると、swf拡張子の関連付けが変更されます。Flex3 SDKのruntimes/player/winあたりにあるデバッグ版プレーヤーを実行しておけば、FlashDevelopのFDB設定にはその実行ファイルのパスがセットされます(リリース版FD3beta8では画面に表示されません)
が、注意すべきはWindows Vista環境で、UAC環境下のVistaでは、権限昇格していないプログラムによるHKEY_CLASS_ROOT(拡張子関連付けやCOMオブジェクトの登録場所)へのレジストリ書き込みが無視(なのか仮想化なのか)されてしまいます。いくらAdministratorsグループのユーザがFlashPlayerの最新版を別途取得して実行しても、swfはProgram FilesのFlashインストール先にあるプレーヤーに関連づいているままで変化しません。
この問題を解決するには、Flex 3 SDKのプレーヤーを右クリックし、一度だけ「管理者権限で実行」する必要があります。管理者権限で実行されたプログラムだけが、Administrators所有のレジストリを書き換えることができるのです。
なお、XPでも自分が管理者でない場合には、「異なるユーザとして実行」を使い、管理者で一度実行する必要がありそうです。

そうそう、関係ないけど、ソースリポジトリがGoogleCodeに引っ越しましたね。これでやっとマトモにバグトラッキングしてもらえる…かな。なんか、プロジェクトページにIssuesタブがないけど…。

http://code.google.com/p/flashdevelop/

ちなみに、ここ↓の日本語化ファイルは、beta7〜8の大リファクタでもうダメになったかも。
http://www.logicalyze.com/contents/?p=743
ご本人も
http://www.logicalyze.com/contents/?p=945
で、beta7用の日本語化ファイルは使わないほうがいいと仰ってますし。

beta8は文字列の外部化と多国語対応の準備はしてあったので、もっと簡単に翻訳できるパッチを書いてみようかな。