编辑
事件日志错误是这样的:
error 0x8007000B: The app manifest publisher name (CN=...)
must match the subject name of the signing certificate
(CN={19BE29DF-4812-4F2E-8FC1-A138B146946A}).
Run Code Online (Sandbox Code Playgroud)
现在看来下面的命令似乎有效.因此,当我看到这个时,无论是我无法识别的用户错误还是与机器状态有关的东西.与事件日志消息中的签名证书关联的guid不是证书管理器管理单元中显示的证书,这很奇怪.
原始问题
我正在尝试签署使用生成的UWP appx包MakeAppx.exe.pfx是使用https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-manual-conversion这些命令生成的开发人员代码签名证书.
C:\> MakeCert.exe -r -h 0 -n "CN=<publisher_name>" -eku 1.3.6.1.5.5.7.3.3 -pe -sv <my.pvk> <my.cer>
C:\> pvk2pfx.exe -pvk <my.pvk> -spc <my.cer> -pfx <my.pfx>
Run Code Online (Sandbox Code Playgroud)
私钥位于我受信任的根证书存储区中,并且在我使用Desktop App Converter从安装程序生成appx时工作.
我使用的命令行是:
signtool.exe sign -f <path to my pfx file> -fd SHA256 -v .\FishTank.appx
Run Code Online (Sandbox Code Playgroud)
但是SignTool错误的是:
The following certificate was selected:
Issued to: ...
Issued by: …Run Code Online (Sandbox Code Playgroud) signtool windows-store-apps appx desktop-app-converter desktop-bridge
我曾尝试为 Windows 商店提交应用程序,但经过审核后,此通知被拒绝:
桌面桥应用程序:98 个受限功能
开发者须知
您无权使用以下受限功能:runFullTrust。请从您的申请中删除此功能并重新提交。
我打包了我的应用程序,因为它是在 Microsoft 的桌面应用程序转换器 (DAC) 教程中编写的。此外,教程还说:
对于使用桌面桥打包的桌面应用程序,您必须添加 runFullTrust 功能。
但是为什么教程说“添加 runFullTrust”然后审阅者拒绝我的提交,因为添加了 runFullTrust?我在提交中描述了为什么我需要此功能,但似乎它对决策没有影响。PS 我的应用程序是使用电子框架创建的,并使用铬引擎在我的应用程序中显示网页。
windows-store-apps windows-10 uwp desktop-app-converter desktop-bridge
我有一个大型的 win32 程序,其中包含本机和托管代码的混合。我想将它放入一个 .Appx 文件中,以便在 Windows 10 上进行简单安装。我不想将它放在 Windows 应用商店中 - 我只想用 .Appx 文件替换旧的安装程序。
使用DesktopAppConverter,我已将程序转换为 .Appx。我的问题是 DesktopAppConverter 添加了对“Microsoft.VCLibs.140.00.UWPDesktop”的依赖,这意味着我必须分发我的 .appx 和 Microsoft.VCLibs.x64.14.00.Desktop.appx。所以用户不能再只点击我的 .appx 文件,而是必须从 PowerShell 运行它:
Add-AppxPackage .\MyApp.appx -DependencyPath .\Microsoft.VCLibs.x64.14.00.Desktop.appx
有没有办法可以将依赖项“合并”到单个 .appx 中,用户只需双击即可安装?
appx windows-10-universal desktop-app-converter desktop-bridge
我的Win32应用程序需要安装Windows资源管理器Shell扩展。
我已使用Desktop App Converter为我的应用程序生成AppX。但是转换器忽略了由应用程序的旧版安装程序安装的Shell扩展。
当它捕获到的Classes\Directory\shellex密钥时Registry.dat,密钥条目指向未捕获的CLSID。即使它确实捕获了引用的CLSID,它也指向旧版安装程序在其中安装应用程序的路径,而不是指向将要安装AppX的实际位置。
我在考虑第一次运行时由应用程序本身注册扩展。但是安装位置中的C:\Program Files\WindowsApps权限受到限制,因此regsvr32失败。
无法加载模块“ C:\ Program Files \ WindowsApps \ WinSCP_5.14.0.0_x86__2dz6xbp7ps3z2 \ DragExt64.dll”。
确保二进制文件存储在指定的路径或对其进行调试,以检查二进制文件或相关的.DLL文件是否存在问题。
访问被拒绝。
权限的确允许将文件复制到其他位置。因此,我可以将.dll复制到例如用户配置文件(C:\Users\...)并从那里注册。但这将在卸载AppX时留下.dll。
有更好的解决方案吗?
shell-extensions appx uwp desktop-app-converter desktop-bridge
我有一个使用台式机转换为UWP Bridge的应用程序,特别是台式机应用程序转换器,它可以自动完成所有操作。它可以转换并很好地安装,但是当我尝试运行它时,我收到一个错误,指出可执行文件需要提升。我可以通过解决此问题,Right Click -> Run as Administrator但我希望使用默认设置将应用重新打包,因此不需要执行此额外步骤。值得注意的是,我可以在没有管理员特权的情况下以正常安装方式运行该应用程序,只有转换后的应用程序才需要此权限。
有没有办法在AppxManifest.xml与转换应用程序相关的文件中包括所需的海拔要求?我希望会有像这样简单的事情
<Application Id="MyApp" Permissions="Administrator">
Run Code Online (Sandbox Code Playgroud)
上有明显的文档在这里,但我无法找到相关的权限或标高什么。
这是AppxManifest.xml转换器生成的。
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:uap2="http://schemas.microsoft.com/appx/manifest/uap/windows10/2" xmlns:uap3="http://schemas.microsoft.com/appx/manifest/uap/windows10/3" xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
<Identity Name="MyApp" ProcessorArchitecture="x86" Publisher="CN=Me" Version="5.70.0.0" />
<Properties>
<DisplayName>MyApp</DisplayName>
<PublisherDisplayName>Me</PublisherDisplayName>
<Logo>Assets\AppStoreLogo.png</Logo>
</Properties>
<Resources>
<Resource Language="en-us" />
<Resource uap:Scale="100" />
<Resource uap:Scale="125" />
<Resource uap:Scale="150" />
<Resource uap:Scale="200" />
<Resource uap:Scale="400" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust" …Run Code Online (Sandbox Code Playgroud)