3

Chrome(.crxファイル)、Mozilla Firefox(.xpiファイル)、Internet Explorer(.exeファイル)の拡張ツールバーを既に作成しました。3つすべての単一のインストーラー(EXEまたはMSI)を一緒に作成するために今必要なのは1つだけです。

CrossRiderにはアドバイスしないでください。すでに作成されているサードパーティの拡張機能に使用する方法がわかりません。CrossRiderにコードを書き直したくありません。私のすでに書いたコードの使い方を知っていれば、それで大丈夫です。そうでなければ、何か他のものを提案します。

NSIS / Inno Setup / AdvancedInstallerを使用してブラウザ拡張用のインストーラーパッケージを作成する方法も教えてください。

4

2 に答える 2

6

InnoSetupでこれを行うにはどうすればよいですか。

;Create Directory for Mozilla and Chrome

[Dirs]
Name: "{pf}\[Directory Name]"
Name: "{reg:HKLM\Software\Google\Chrome\Extensions,Path|{pf}\[Directory Name]}"
Name: "{reg:HKLM\Software\Mozilla\Firefox\Extensions,Path|{pf}\[Directory Name]}"

;Add Files

[Files]
Source: "Sample.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "sample@sample.com.xpi"; DestDir: "{pf}\[Directory Name]"; Flags: ignoreversion
Source: "phogkfodcfpcnalkmlcjmlnhgjacapcf\sample_chrome.crx"; DestDir: "{pf}\[Directory Name]"; Flags: ignoreversion

;Create Registry

[Registry]
Root: "HKLM"; Subkey: "Software\Google\Chrome\Extensions\mefpokegaaknljjamcdfhnimiiogmogk"; ValueType: string; ValueName: "Path"; ValueData: "{pf}\[Directory Name]\sample_chrome.crx"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "Software\Google\Chrome\Extensions\mefpokegaaknljjamcdfhnimiiogmogk"; ValueType: string; ValueName: "Version"; ValueData: "1.4"; Flags: uninsdeletekey
Root: "HKLM"; Subkey: "Software\Mozilla\Firefox\Extensions"; ValueType: string; ValueName: "sample@sample.com"; ValueData: "{pf}\[Directory Name]\sample@sample.com.xpi"; Flags: uninsdeletekey

;Run Exe file

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
于 2013-03-01T10:24:25.953 に答える
1

私が見る限り、基本的に次のことを行う必要があります: - インストールされているブラウザを検出する - 目的のパスに拡張ファイルをインストールする - レジストリ エントリを作成する

解決策の提案: ブラウザを検出するには、[検索]ページからレジストリ検索を作成できます。検索名は実際にはパブリック プロパティであるため、組織ページから対応するコンポーネントの条件を設定することにより、ファイルとレジストリ キーのインストールを条件付けるために使用できます。

ファイルのインストールは簡単です。[ファイルとフォルダー] ページに移動して、目的のターゲット フォルダーに追加するだけです。この後、F8 キーを押すと、ファイル コンポーネントが表示され、インストール条件が設定されます。

最後の部分は、レジストリ エントリの設定です。レジストリ ページに移動し、regedit と同じように作成します。ファイルと同じように、拡張機能のエントリを作成した後、F8 を使用してそのコンポーネントに移動し、ファイルと同じインストール条件を設定します。

パッケージがコントロール パネルから削除されると、アンインストールは自動的に処理されます。つまり、パッケージによって作成されたファイルとレジストリ エントリは削除されます。

IE に関しては、EXE をカスタム アクションとして呼び出すことができます。拡張機能を登録するには、インストールの最後にインストール時に実行される 2 つのカスタム アクションが必要です。2 番目のカスタム アクションは、最初にアンインストール時に実行されるため、パッケージが EXE を削除する前に拡張機能を登録解除します。

于 2013-02-11T12:13:13.890 に答える