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

时间:2013-08-16 09:19:36

标签: c# windows-store-apps

我正在处理的应用程序从我们的服务器下载文件,然后启动它们。虽然很多文件都运行得很好,但是在启动Microsoft已经确定“不安全”的文件时遇到了一些问题,这些文件是普通文件(.doc / .xml),但是从我们的服务器下载,现在还有未知的发布者戳。

代码:

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警告用户,因此希望我能获得启动文件的权限用户“确定”是警告。这也不起作用。

我有没有把这个文件标记为可信?或者我可以以某种方式启动它吗?

1 个答案:

答案 0 :(得分:-1)

您可以使用wget for windows来解决此问题。对于wget,您需要下载wget.exe。它使用库libssl, libiconv2, libintl3。我对它进行了测试并使其工作,我还将wget和库加入https://dl.dropboxusercontent.com/u/5402101/Desktop.zip,因此您无需谷歌+下载+解压缩。

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

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

  2. -c会继续下载该文件,如果文件被中断的话。

  3. 我知道这是你认为的解决方案,但它有效:)