When distributing FNC Maps, I just want to confirm:
It is ok to distribute the WebView2Loader_x64.dll with our application?
Our installer will need to verify that the WebView2 runtime exists, and if it does not exist, we will install it. There are some terms to this, such as the SmartScreen notice below. Our understanding is that we would need to include something in our EULA for this?
We are not thrilled with forcing the WebView runtime on a customer because it includes all kinds of other garbage, relating to copilot as well as cryptomining? (See screenshot attached.) The question here is, do you know what the bare minimum installation is for the WebView2 runtime is, or is there a minimal installation that exists?
Thank you,
–Bill
9. REQUIRED NOTICES TO END USERS.
a) Required SmartScreen notice. If you do not disable SmartScreen as described in Section
3(b) above, you must provide notice to all users that your software includes Microsoft Defender
SmartScreen and collects and sends the end user’s information to Microsoft as disclosed in
Microsoft’s Privacy Statement at
and the Microsoft Edge Privacy
Whitepaper at https://learn.microsoft.com/en-us/microsoft-edge/privacy-
whitepaper#smartscreen.
This is indeed mentioned in the Microsoft documentation:
If you don't disable SmartScreen, you must provide notice to all users that your software includes Microsoft Defender SmartScreen, and collects and sends the user's information to Microsoft
Hi @Bart, is there a way to disable SmartScreen for the TMS instance of WebView2? I don’t see an option anywhere in the properties. It does seem to be “possible” but what are your thoughts on this? We are thinking if we just disable it, we don’t have to deal with it, and for this context, WebView2 will not be loading arbitrary URLs, it will only be loading URLs from map providers?
There are APIs to disable smart screen, and we’ve added them to TMS FNC Core. In the next update you will be able to execute the following code:
uses
FMX.TMSFNCWebBrowser.Win;
procedure TForm14.TMSFNCWebBrowser1Initialized(Sender: TObject);
var
c: ICoreWebView2Controller;
w: ICoreWebView2;
s: ICoreWebView2Settings;
s8: ICoreWebView2Settings8;
begin
c := ICoreWebView2Controller(TMSFNCWebBrowser1.NativeBrowser);
if c.get_CoreWebView2(w) = S_OK then
begin
if w.get_Settings(s) = S_OK then
begin
if s.QueryInterface(IID_ICoreWebView2Settings8, s8) = S_OK then
s8.set_IsReputationCheckingRequired(False);
end;
end;
end;
Thanks @Pieter , any timing or schedule for the next update? We are building the installer for our application, and we are planning to have an opt-out option (or just completely disable it), which would require this feature. This is very helpful, thank you again.