2009-05-20 6 views
1

私はカスタムxulrunnerベースのアプリケーションを作成しています。アプリケーションを初めて実行するときに、いくつかのファイルをユーザープロファイルにデプロイしたいと考えています。Xulrunnerアプリケーションの "firstrun"でコードを実行する方法

ファイルをアプリケーションのデフォルト/プロファイルディレクトリに配置しましたが、アプリケーションの最初の実行中にユーザーのプロファイルにコピーされませんでした。

追加のコードを書く必要がありますか?これは自動的に行われるべきですか? 確実にコピーされるのは、アプリケーションのデフォルト設定です。

Firefoxや他の多くのMozillaアプリケーションで「標準的な」方法が提供されていますか? いくつかの読み物へのリンクが参考になります。 ヒントは貴重です。

ありがとうございます。

答えて

1

残念ながら、標準最初の実行コードを実行する方法は、あなたがまだ何かをしているかどうかを判断するためにprefシステムを使用することです。しかし、いくつかの落とし穴があります:

  • このコードは1回だけ実行するようにしてください。あなたのfirstrunコードがオーバーレイまたはメインブラウザウィンドウにある場合は、コードを実行してprefを設定した後、複数回(1回のウィンドウで1回)

  • を実行して、prefsが書き込まれていることを確認してくださいあなたが閉じるときにのみ保存されます。

    Components.classes [ '@ mozilla.org/preferences-service;1'] .getService(Components.interfaces.nsIPrefService) .savePrefFile(NULL)。

+0

私はプロファイルがどこにあるべきであるかのためにあらかじめ定義されたフォルダで "-profile ../../Data"パラメータを使用していたので、それが判明しました。 defaults/profileのファイルはコピーされませんでした。 定義済みのプロファイルフォルダの内容を数回削除しましたが、何も起こりませんでした。 パラメータを削除した後に機能しました。 しかし、私はあなたが提供したヒントがまだ必要でした。 ありがとうAnotherjesse –

1

また、環境設定システムを使用して、拡張バージョン番号を照会することもできます。バージョンが変わったら、関数を呼び出します。これにより、必要に応じて後から関数を呼び出す柔軟性が得られますが、バージョンが変更された場合に限ります。

+0

これはかなり役に立ちます。追加ヒントありがとうございました。 –

関連する問題