Upload Edge extension to web store with existing extension ID - microsoft-edge-extension

We are porting our Chrome extension to Edge and our extension already has an extension ID that our native messaging applications rely on.
In Chrome you have control over the id of the newly created extension by including the "key.pem" file in the first upload of the extension package. But that is not working in the Edge Store, it seems to always create a new extension ID.
Is there a way to force the store to use our existing extension ID?

Is your native message application rely on chrome.runtime.connectNative application?
If yes, I suggest you set allowedorigins to "extension://[Microsoft-Catalog-extensionID]" in your native messaging host manifest file.
So I think you have to use Microsoft-Catalog-extensionID and you can't use that existing extension Id.
I go this information in the documentation.
If your Extension exchanges messages with a native application using
chrome.runtime.connectNative API, ensure that you set allowedorigins
to "extension://[Microsoft-Catalog-extensionID]" in your native
messaging host manifest file. This enables the app to identify the
Extension.
Reference:
Port Chrome Extension To Microsoft (Chromium) Edge

Related

Flutter Windows Desktop: Integrate with the File Activation API

I am looking for some guidance on implementing the Windows File Activation API with my Flutter App, that is, a user able to open a file associated with my App and have that file path passed to my app instance on startup and during runtime if the user opens a file whilst the app is already started.
I have found the following link from Microsoft that details how to achieve this within a UWP Application. However I have no been able to implement it completely with my limited knowledge of C++.
https://learn.microsoft.com/en-us/windows/uwp/launch-resume/handle-file-activation
It seems that the File Activation API relies on the WinRT API. Is this already bundled with the Flutter runner project or does this need to be imported separately?
To hook into the File Activation API, I need to create a class that is derived from the Application class, Is it possible to achieve this whilst still having a reference to the Platform Channels provided so that the events can be passed into the Dart code?
Is it even a valid approach to use the WinRT API's or is there another API I have missed?

Uploading browser extension to Microsoft Partner Centre

I currently have continuous integration that updates an extension on Chrome Web Store and Mozilla Add On Market, however I am now trying to make a script that uploads to the Microsoft Partner Centre. Does anyone know how to upload via API to this Microsoft Partner Centre? (Specifically for Browser Extensions).
Microsoft just released the Microsoft Edge Add-Ons API which finally gives the ability to programmatically upload browser extensions to the web store via an API.
If you're using Node, can use the Edge Webstore Upload package to work with this API.
Do you want to upload Edge extension to Partner Center using some API? Partner Centre does not have such an API to provide to upload extensions. Correct me if I misunderstand what you want.
If you want to upload Edge extension, please refer to Publish your extension. If you want to update Edge extension, please refer to Update An Extension Listing.
So I found it particularly hard to write a script that would do this, so hard that I had to use Selenium due to all the JS loaded on the Microsoft Partner Centre sites. Never the less, I have written a script that will login, upload a new version and publish it (note that it won't work unless you've created and uploaded the first version of your extension yourself).
https://gist.github.com/8W9aG/d135f2780e2dc27baa682bae3a2a1cc7

How can I call an UWP API from a C++ desktop application

I would like to access Bluetooth LE devices using the corresponding UWP APIs. However, my application is a "classic" C++ application (3D game) that can't run as a UWP app. Is there a way to do that? Accorind to enter link description here these APIs are published, but I don't know the steps to access them I have only found some posts for Windows 8/8.1 apps that include the Windows.winmd and Platform.winmd metadata files and set the /ZW compilation flag, but this doesn't seem to apply to Windows 10.
You should be able to do this, as the Bluetooth classes (e.g., BluetoothLEAdvertisement) are marked up with DualApiPartitionAttribute (callable from desktop and UWP apps).
Using one of the older Win8.1 desktop samples should give you a good starting point for calling the APIs without requiring /ZW or referencing the winmd files. A good example is the desktop toast API sample.
If you go that route, you can use classic COM to create the UWP/WinRT classes via WRL helpers.
You can use the web that you make a web server and the C++ application use the same server and if UWP send the info to server then it will send the info to C++ application.
To safe,the UWP can't use the desktop app.

cookies permission for chrome app

I am trying to make a custom cookie manager app for chrome, but the "cookies" permission in the manifest.json file gets me this warning
'cookies' is only allowed for extensions and legacy packaged apps...`
My app can't be an extension instead because I also want access to "filesystem" and maybe "usb".
This is not the first time I need extension APIs for an app or vice versa. Is there any way to make an app that can use extension APIs or the other way round?
You could develop an extension as a dependency for your app. It's not ideal since it requires the user to install two items but it should work. You can implement message passing between your app and the extension to call the needed APIs.

Access data from sqlite db in Google chrome Extension

I am creating a Google chrome Extension in this extension I want to access(query) data from "SqliteDb".The SqliteDb placed in Temp folder.
How will i do this.please suggest me.if have any need of using plugins then provide me link.
Thanks
I'm rather confused; to me this seems pretty obvious. If you want to access sqlite from a NPAPI plugin (which you can then use from inside a chrome extension) you need to embed the sqlite libary.
There should be no reason that you can't use normal C (or C++) libraries for database access from within your plugin.