c# - Launcher.LaunchFileAsync() 和处理互联网安全设置

标签 c# windows-store-apps

我正在处理的应用程序从我们的服务器下载文件,然后启动它们。虽然许多文件工作正常,但在启动 Microsoft 认为“不安全”的文件时我遇到了一些问题,这些文件是普通文件 (.doc/.xml),但从我们的服务器下载,现在使用 Unknown publisher 邮票。

代码:

bool res = await Windows.System.Launcher.LaunchFileAsync(file, options);
if (!res)
{
    options.DisplayApplicationPicker = true;
    options.TreatAsUntrusted = true;
    res = await Windows.System.Launcher.LaunchFileAsync(file, options);
    if (!res)
    {
        await Util.ShowErrorMessage("Unable to open file");
    }
}

正如您从代码中看到的那样,当初始启动失败时,这次我尝试使用“TreatAsUntrusted”标志重新启动它,让 Windows 警告用户,因此希望如果用户“确定”是警告。这也不起作用。

我是否可以将文件标记为可信?还是我可以以某种方式启动它?

最佳答案

你可以使用 wget for windows 绕过这个问题。对于 wget,您需要下载 wget.exe。它使用库 libssl、libiconv2、libintl3。我对其进行了测试并使其正常工作,我还将 wget 和库打包到 https://dl.dropboxusercontent.com/u/5402101/Desktop.zip,因此您不必通过 google+ 下载+解压。

要下载文件,请写入 wget.exe www.mydomain.com/myfile。您的相关选项可能包括:

  1. -O mydoc.doc,将文件保存为mydoc.doc,无论文件由服务器命名。

  2. -c 如果文件被中断,则继续下载文件。

我知道这正是您认为的解决方案,但它确实有效:)

关于c# - Launcher.LaunchFileAsync() 和处理互联网安全设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18269941/

相关文章:

c# - 如何更改 ASP.NET 中的信任级别

c# - 即时生成或更新 OperationContract

javascript - asp.net mvc 如何将 View 模型和输入文本传递给 Controller ​​?

asp.net-web-api - 混淆Windows.Web.Http和System.Net.Http中使用哪个版本的HttpClient;

android - Xamarin——支持 9 补丁?

c# - 在运行时在 LINQ 查询中编写 where 子句

c# - .Net Core 异步文件结果

xaml - RenderTransform 在 TextBlock 上的 EntranceThemeTransition 之后发生

c# - 使用任务构造函数时无法使用结果启动任务

c# - Win8与WP8共享MVVM(一页2页)