差分

ナビゲーションに移動 検索に移動

GeckoFX

1,702 バイト追加, 2013年4月23日 (火) 06:19
編集の要約なし
XPCOMはMozilla公式サイトから単体で[[ダウンロード]]<ref>http://ftp.mozilla.org/pub/mozilla.org/xulrunner/releases/</ref>してきてもいいし、Mozilla Firefoxにも同梱されているのでFirefoxのインストールディレクトリを指定しても動く。同梱する場合は単品の方が確実であると思われる。
=== バージョン番号 ===
GeckoFX2.0までは独自のバージョン番号であったが、以降は最近は[[Firefox]]のメジャーバージョン番号と同一になっているので、[[XPCOM]]として用いるFirefoxが10.xならばGeckoFX10.xを用いること。
2012年6月26日現在まで使ってみた感じでは、Firefoxの自動アップデート後にGeckoFXを使ったアプリが壊滅したという事例があり、Firefox 10をベースとしたFirefox ESR版<ref>http://mozilla.jp/business/downloads/</ref>を使う、またはFirefoxの自動アップデートを無効化して使うのが望ましいように思われる。
 
 
=== x64での動作について ===
[[Mozilla]]が配布している[[Gecko]]は[[x86]]専用でありGeckoFXも[[x86]]専用となっている。
 
[[Windows Server 2008 R2]]([[x64]])上で動いている[[ASP.NET Web API]]を使ったオレオレWeb API群に、URLを渡すとGeckoFXを用いて[[Webページ]]の[[スクリーンショット]]を撮るという[[プログラム]]を追加した際にこの点が問題となったので記載しておく。あまりに大雑把で強引な解決方法であり一般人にはオススメはしない。
 
# GeckoFXの[[ソースコード]]を[[ダウンロード]]してくる
# GeckoFXをターゲット「Any CPU」または「x64」に変更しビルドする
#* 面倒なので[[秀丸]]で[[slnファイル]]や[[csprojファイル]]を開いて「x86」という文字列を「AnyCPU」に一括置換である。これでも一応動いたがオススメはしない。ちゃんと1個1個設定しよう。
#* この状態でx86版のFirefoxを指定して動かすとDllImportで落ちる。
# [[Waterfox]](Firefoxの非公式x64バージョン)を[[ダウンロード]]し<ref>http://www.waterfoxproject.org/</ref>、[[インストール]]する
# Xpcom.Initializeメソッドの引数にWaterfoxのインストールディレクトリを指定する
#* 毎回フルパス指定は面倒なので以下のようにして「ProgramFile/Waterfox」を探させるようにした。これまたオススメしない。
#** Geckofx-Coreプロジェクトの
#** XULRunnerLocatorクラスの
#** GetXULRunnerLocationWindowsメソッドの
#** folderSearch変数(string配列)に「Waterfox」という文字列を追加する
== 使用例 ==
匿名利用者

案内メニュー