2009-05-20 60 views
1

我正在編寫一個基於xulrunner的自定義應用程序,並且希望在第一次運行應用程序時在用戶配置文件中部署一些文件。如何在Xulrunner應用程序的「首次運行」中運行代碼

我將文件放在應用程序的默認值/配置文件目錄中,但在應用程序的第一次運行期間它們沒有被複制到用戶的配置文件中。

我應該寫一些額外的代碼還是應該自動發生? 被確認複製的東西是應用程序的默認首選項。

是否有Firefox或某些mozilla應用程序提供的「標準」方式? 任何鏈接到一些閱讀將是有益的。 任何提示都很有價值。

在此先感謝。

回答

1

不幸的是,標準做第一次運行代碼的方式是使用pref系統來確定您是否有或尚未做過什麼。但有幾個陷阱:

  • 請確保此代碼只運行一次。如果您的第一代代碼位於覆蓋或主瀏覽器窗口中,則可以多次運行(每個窗口一次)

  • 運行代碼並設置pref後,請確保您刷新了prefs,因爲prefs已寫入關閉時只會在關閉時保存。

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

+0

事實證明,因爲我正在使用一個「-profile ../../Data」參數和一個預定義文件夾來指定配置文件的位置。來自defaults/profile的文件沒有被複制。 我刪除了幾次預定義的配置文件文件夾的內容,但沒有發生任何事 刪除了它的工作參數。 但是我仍然需要你提供的提示。 謝謝Anotherjesse – 2009-06-10 09:54:53

1

您也可以使用首選項系統配合查詢擴展版本號。當版本改變時,調用你的函數。這將允許您靈活地在稍後再次調用該函數 - 但僅限於版本更改。

+0

這是很有幫助的。非常感謝附加提示。 – 2009-06-10 09:46:26