Installing the Opera extension from the registry

I developed the Opera extension. It works great. But I need to install my extension in the Windows registry or the Windows file system. How can i do this?

+4
source share
1 answer

NOTE: THIS IS A QUESTION - OPERA 12 RELATED
Opera 12 uses a different extension architecture than the next versions of Opera!

Opera extensions are not installed through the registry.

In the folder you will find an XML file called widget.dat :

 C:\Users\%Username%\AppData\Local\Opera\Opera\widgets 

Each widget has an entry. I think you yourself will understand the syntax, this is quite explanatory if you have some widgets installed.


EDIT: I just found out that adding a new entry to widget.dat will install the extension in Opera, but it will be deactivated since it has not been initialized. This usually happens using the javascript / extension mechanism at runtime.

To enable the script manually, in the wuid-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx folder specified in widget.dat, there must be prefs.dat containing at least the following structure:

 <?xml version="1.0" encoding="utf-8"?> <preferences> <section id="ui"> <value id="default-prefs-applied" xml:space="preserve">1</value> </section> </preferences> 

In addition, you may need to manually initialize the widget settings in the pstorage folder. The settings are saved as paired strings of utf-16 key-value based on base64. So this coded structure:

 <ws> <e> <k>YQBsAGUAcgB0AF8AYgB1AGIAYgBsAGUAXwB0AGkAbQBlAG8AdQB0AA==</k> <v>IgAxADUAIgA=</v> </e> <ws> 

It is read as:

 <widgetsettings> <entry> <key>alert_bubble_timeout</key> <value>"15"</value> </entry> <widgetsettings> 

(tag names are freely interpreted;) I found base64 en / decoder capable of handling utf-16 here


PS: Opera will install widgets by double-clicking them. That way, you can also run Opera with a path extension on the command line. After that, Opera will do everything for you.
 C:\Program Files\Opera\opera.exe C:\Path\To\Extension.oex 
+6
source

Source: https://habr.com/ru/post/1433316/


All Articles