X
Tap here to go to the mobile version of the site.

Support Forum

How can I determine programatically if firefox is running with my extension installed. I need to do this from an OSX cocoa application.

Posted

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?

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?

Chosen solution

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 0
Quote

Additional System Details

Application

  • User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36

More Information

cor-el
  • Top 10 Contributor
  • Moderator
17418 solutions 157376 answers

Maybe install the extension globally to ensure that the extension is installed.

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.

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 <b>about:profiles</b> page. *Help -> Troubleshooting Information -> Profile Directory:<br>Windows: Show Folder; Linux: Open Directory; Mac: Show in Finder *https://support.mozilla.org/en-US/kb/Profiles
Was this helpful to you?
Quote

Question owner

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?

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 by sp.anon.me

Was this helpful to you?
Quote
jscher2000
  • Top 10 Contributor
8637 solutions 70667 answers

Helpful Reply

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.

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.
Was this helpful to you? 1
Quote
cor-el
  • Top 10 Contributor
  • Moderator
17418 solutions 157376 answers

Helpful Reply

Note that each platform uses its own methods and files to lock a profile.

Note that each platform uses its own methods and files to lock a profile. *https://dxr.mozilla.org/mozilla-release/source/toolkit/profile/nsProfileLock.cpp
Was this helpful to you? 1
Quote

Question owner

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?

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?
Was this helpful to you?
Quote

Chosen Solution

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 !

''jscher2000 [[#answer-1244777|said]]'' <blockquote> 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. </blockquote> <blockquote> 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? </blockquote> 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 by sp.anon.me

Was this helpful to you?
Quote
Ask a question

You must log in to your account to reply to posts. Please start a new question, if you do not have an account yet.