问题描述
我在使用Google翻译时有一个问题。
有两个wpf应用程序,都使用应用程序安装程序安装。
我创建了一个过程,以从一个WPF应用程序的源代码启动另一个WPF应用程序的应用程序安装程序。
但是PackageManager.AddPackageByAppInstallerFileAsync方法错误
public async Task UpdatePackage()
{
var packageManager = new PackageManager();
var packageName = "dc9f85a2-ce8e-4d86-90fa-8a61c51f2238";
var packageFullName = packageManager.FindPackagesForUser(string.Empty).FirstOrDefault(x => x.Id.Name == packageName)?.Id.FullName ?? "";
var package = packageManager.FindPackageForUser(string.Empty,packageFullName);
var uri = package.GetAppInstallerInfo().Uri;
var volume = packageManager.GetDefaultPackageVolume();
// check same package
var packageInVolume = volume.FindPackageForUser(string.Empty,packageFullName).FirstOrDefault();
if (package.Id.FullName == packageInVolume.Id.FullName)
{
Console.WriteLine("Same");
}
try
{
// this line error
await packageManager.AddPackageByAppInstallerFileAsync(uri,AddPackageByAppInstallerOptions.ForceTargetAppShutdown,volume);
}
catch(ExternalException e)
{
}
}
错误消息
外部组件引发了异常。
我尝试过的
1。检查Packge.appxmanifest文件 身份名称和packageQuery和packageManagement
<Identity
Name="dc9f85a2-ce8e-4d86-90fa-8a61c51f2238"
Publisher="CN=my"
Version="1.0.21.0" />
:
:
<Capabilities>
<rescap:Capability Name="packageManagement"/>
<rescap:Capability Name="packageQuery"/>
<rescap:Capability Name="runFullTrust" />
<Capability Name="internetClient" />
2。能够通过单击.appinstaller文件进行更新
我能够更新
- 检查.appinstaller文件
<AppInstaller Uri="{AppInstallerUri}"
Version="{Version}"
xmlns="http://schemas.microsoft.com/appx/appinstaller/2018">
<MainBundle Name="{Name}"
Version="{Version}"
Publisher="{Publisher}"
Uri="{MainPackageUri}"/>
<UpdateSettings>
<OnLaunch HoursBetweenUpdateChecks="0" UpdateBlocksActivation="true" ShowPrompt="true"/>
</UpdateSettings>
</AppInstaller>
谢谢您的确认。
发展环境 -visual studio 2019 -.net核心3.1 -windows10 1909
参考站点 https://docs.microsoft.com/en-us/windows/msix/non-store-developer-updates
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)