15

状況:IEユーザー向けに完全に機能するActiveXコントロールをすでに作成しました。.ocxを作成し、CABを作成して署名し、EMBEDタグを付けてサイトに配置します。ユーザーがページを読み込むと、黄色のバーが表示され、インストールするかどうかを尋ねられます。クリックするだけで、オフになります。

次に、FF、Chrome、Safari(Macの場合)のサポートを構築する必要があります。私の調査によると、NPAPIはこれを行う方法であり、Firebreathはそれを容易にするはずです。しかし、私が読んだことから、展開はそれほど簡単ではありません。Windowsユーザーは、DLLで「zippy32」を実行する必要があります(私のWebユーザーは実際には実行しません)。Macで何が起こるかわかりません。ユーザーはそれを/Library/ Internet \ Plugins /のようなディレクトリにコピーする必要があると思います。これは、展開のスターターでもありません。Firefoxユーザーは.xpiをダウンロード/実行します。Chromeは.crxを実行することになっています。

誰かがこれを経験したことがありますか?他のビッグ3ブラウザー用のNPAPIプラグインをユーザーが実行しやすいように展開するにはどうすればよいですか?

4

3 に答える 3

15

これは、FireBreath ユーザーから多く寄せられる質問です。そのため、プロジェクトの Google グループよりも見つけやすいフォーラムで、より詳細に回答する時期が来ていると思われます。

まず、regsvr32 の問題を解決するために、FireBreath はすべてのブラウザで「自己登録」をサポートしています。つまり、regsvr32 を呼び出すと、DReJ によってリンクされたメソッドを使用して、IE だけでなく NPAPI ブラウザーのレジストリ キーもインストールされます (その情報については +1、ところで、感謝します。多くの人はそれを見つける場所を知りません)。

ただし、自己登録 DLL は、インストーラーの世界と Microsoft によって強く推奨されていません。これには多くの理由があります。あなたの投稿では、他のインストール オプションをうまくまとめています。IE では .cab を、firefox では .XPI を使用できますが、もちろん他のブラウザーでは役に立ちません。

FireBreath チーム (私が率いる) が推奨する方法は、すべてのブラウザーで MSI インストーラーを使用することです。個人的には、インストール時にブラウザーごとに動作が異なるのは好きではないので、javascript を使用してプラグインの存在 (または不在) を検出し、MSI インストーラーをダウンロードして実行するようにユーザーに促します。

FireBreath には、WiX を使用して MSI インストーラーをビルドするための「組み込み」サポートがあります。マシンに WiX 3.0 以降をインストールして prep スクリプトを再実行すると、基本的な MSI をビルドする _WiXInstaller プロジェクトが作成され、Visual Studio ビルド プロセスの一部としてすべてのブラウザーにプラグインがインストールされます。ホーム ディレクトリに残る .wxs テンプレートを変更してカスタマイズできます。

詳細については、FireBreath wiki を参照してください: http://www.firebreath.org/display/documentation/WiX+Installer+Help http://www.firebreath.org/display/~me@iaincollins.com/Potential+インストーラー+改善

IE 用の .cab インストーラーを使用することに本当に満足している場合 (私はそれらに問題がありましたが、いくつかはうまくいったようです)、MSI ファイルを CAB 内に配布し、CAB が起動したときに実行することができます。インストールされています。これの利点は、MSI をインストールすると、IE、Firefox、Safari、Chrome、Opera (およびそれらのブラウザーが使用する同じプラグイン技術と互換性のある他のブラウザー) のすべてがインストールされることです。

簡単に言うと、MSI が (regsvr32 のような DllRegisterServer を呼び出すものを使用するのではなく) プラグインをインストールするための理想的なソリューションである理由は、MSI がトランザクション ベースであるためです。つまり、アップグレード時に MSI システムがすべてをクリーンにアンインストールするため、別の場所にある 10 の異なる古いインストーラー バージョンのアンインストールのサポートについて心配する必要はありません。

それが役立つことを願っています!

于 2010-12-17T17:10:34.983 に答える
1

Safari 内からプラグインをインストールする方法を知りません。

また、拡張機能スタイルの展開はユーザーにとってより簡単であると考えるかもしれませんが、Mac ユーザーが複数のブラウザーを使用することはそれほど珍しいことではありません。各ブラウザにプラグインを再インストールさせると、彼らは混乱し (ブラウザ プラグインは一般的に Mac にデプロイされる方法ではないため)、困惑します。インストーラーまたは手動のドラッグ アンド ドロップ インストールは、Mac にプラグインを展開する標準的な方法です。

于 2010-12-20T14:19:47.687 に答える
1

NPAPI プラグインの場合は、「regsvr32」を実行しないでください。Windows ではレジスタに何かを書き込む必要があり、Mac または Linux ではプラグインを指定の場所にコピーする必要があります ( 「プラグインのインストール」を参照)。Windows に NPAPI プラグインをデプロイする最も簡単な方法は、プラグインのactiveXバージョンと NPAPI バージョンの両方をインストールする Windows インストーラーを作成することだと思います (たとえば、 Unity3D 、RoozzまたはSilverlightなどの商用プラグインのデプロイがどのように行われるかを確認できます)。Mac の場合も同様です。インストーラーを作成するだけです。

于 2010-12-17T08:29:59.300 に答える