How can I determine programatically if firefox is running with my extension installed. I need to do this from an OSX cocoa application.
I need to determine programatically if firefox started with a profile that has my extension installed. I need to do this from an OSX Cocoa application. Is there a way to determine the current profile being used by firefox? Or is there a way to determine if a particular extension is installed for the current profile?
الحل المُختار
jscher2000 said
The parent.lock file in a running profile folder will be locked, while in other profile folders it can be opened (blank file). Not sure what over method you could use.
Thanks for your response. I checked the .parentlock file in the profile being used by firefox. It is not locked. I tried to manually check (using getinfo on the file on mac) and also programatically using NSFileManager attributesOfItemAtPath (looking for the NSFileImmutable key). Both indicate the file is not locked. Am i missing something?
I did find that the FileModificationDate on the .parentlock file of the current profile being used will be the latest when compared to other profiles. I am using this to determine the current profile that firefox is using. Thank you !
Read this answer in context 👍 0All Replies (6)
Maybe install the extension globally to ensure that the extension is installed.
- https://support.mozilla.org/en-US/kb/customizing-firefox-using-policiesjson
- https://github.com/mozilla/policy-templates/blob/master/README.md
You can parse extensions.json in the profile folder to see what extensions are installed.
You can use the button on the "Help -> Troubleshooting Information" (about:support) page to go to the current Firefox profile folder or use the about:profiles page.
- Help -> Troubleshooting Information -> Profile Directory:
Windows: Show Folder; Linux: Open Directory; Mac: Show in Finder - https://support.mozilla.org/en-US/kb/Profiles
Thanks for the reply. I need to know what profile is being used so I can parse the extensions.json file. I can do this manually by browsing to the about:profiles page. But, I need to programatically determine the current profile being used by firefox. How can I do this?
Modified
The parent.lock file in a running profile folder will be locked, while in other profile folders it can be opened (blank file). Not sure what over method you could use.
Note that each platform uses its own methods and files to lock a profile.
Thanks for your response. I checked the .parentlock file in the profile being used by firefox. It is not locked. I tried to manually check (using getinfo on the file on mac) and also programatically using NSFileManager attributesOfItemAtPath (looking for the NSFileImmutable key). Both indicate the file is not locked. Am i missing something?
الحل المُختار
jscher2000 said
The parent.lock file in a running profile folder will be locked, while in other profile folders it can be opened (blank file). Not sure what over method you could use.
Thanks for your response. I checked the .parentlock file in the profile being used by firefox. It is not locked. I tried to manually check (using getinfo on the file on mac) and also programatically using NSFileManager attributesOfItemAtPath (looking for the NSFileImmutable key). Both indicate the file is not locked. Am i missing something?
I did find that the FileModificationDate on the .parentlock file of the current profile being used will be the latest when compared to other profiles. I am using this to determine the current profile that firefox is using. Thank you !
Modified