繁体   English   中英

UWP:签名工具错误:访问被拒绝。 ( 解决 ! )

[英]UWP : SignTool Error: Access is denied. ( Resolve ! )

这是关于问题“签名工具错误:访问被拒绝”的重新问题。 在我的视觉工作室。

当我在 Visual Studio 2017 上编译“SideLoad”应用程序时。这个错误又发生了。

这对我来说不是第一次。 以前,我无法解决此错误。 然后,我买了新的戴尔 PC :( 是的,在一段时间内,它运行良好,没有任何问题。但今天我又看到了同样的错误!

这是一些额外的信息。

  1. x64、Windows 10、操作系统 1703 版、内部版本 15063.675。
  2. 视觉工作室 2017
  3. 这是新电脑。 管理员,本地用户,而不是 MSN 用户。
  4. 目标版本:Windows 10 Creator 更新(10.0;内部版本 15063)
  5. 最低版本:Windows 11 月 10 日更新(10.0;内部版本 10586)

构建侧载应用程序后,此错误显示 ::

1>  Bg7Uwp1 -> D:\develop\visualstudio2\xxx\Bg7Uwp1\Bg7Uwp1\bin\x86\Release\Bg7Uwp1.exe                                                                                                                                                                                                                                             
1>  Processing application code                                                                                                                                                                                                                                                                                                     
1>  Computing application closure and generating interop code                                                                                                                                                                                                                                                                       
1>    Loading 108 modules...                                                                                                                                                                                                                                                                                                        
1>    Generating code...                                                                                                                                                                                                                                                                                                            
1>    Interop code generated.                                                                                                                                                                                                                                                                                                       
1>  Generating serialization code                                                                                                                                                                                                                                                                                                   
1>  Compiling interop code                                                                                                                                                                                                                                                                                                          
1>  Generating System.Reflection.DispatchProxy proxy code.                                                                                                                                                                                                                                                                          
1>  Cleaning up unreferenced code                                                                                                                                                                                                                                                                                                   
1>  Generating native code                                                                                                                                                                                                                                                                                                          
1>  Generating fixups for native code                                                                                                                                                                                                                                                                                               
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(3787,5): error APPX1204: Failed to sign 'D:\develop\visualstudio2\xxx\Bg7Uwp1\Bg7Uwp1\bin\x86\Release\Bg7Uwp1_1.0.9.0_x86.appx'. SignTool Error: Access is denied.                
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(3787,5): error APPX1204: SignTool Error: An error occurred while attempting to sign: D:\develop\visualstudio2\xxx\Bg7Uwp1\Bg7Uwp1\bin\x86\Release\Bg7Uwp1_1.0.9.0_x86.appx        
1>                                                                                                                                                                                                                                                                                                                                  
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\Microsoft\VisualStudio\v15.0\AppxPackage\Microsoft.AppXPackage.Targets(3787,5): error APPX1204:                                                                                                                                                          
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========                                                                                                                                                                                                                                                         
========== Package: 0 succeeded, 2 failed ===========                                                                                                                                                                                                                                                                               
========== App Bundle: 0 succeeded, 1 failed ===========                                                                                                                                                                                                                                                                            

请给我一些想法。 我从互联网和这里尝试了一切。 但以前,我无法解决..我不能再买新电脑了!

在此处输入图片说明

更新 1

在这个麻烦之后,我打开新的 Uwp 项目并开始侧载编译。 它显示相同的错误! 这与以前的PC相同! 现在,我的 Vs2017 无法为空的 UWP 项目制作侧载!!

在以前的 PC 中,我尝试了一切。 重新安装 VS2017,重新安装 NuGet 项。 但它根本没有解决。 唯一的方法是购买新PC并重新安装VS。

更新 2

使用VS2017编译输出的verbose模式,我发现,SignAppxPackageExeFullPath=C:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.15063.0\\x64\\signtool.exe中有signtool.exe

有了它,我试着自己签名。

  1. 使用管理员打开命令提示符工具
  2. 运行下面的命令。 我签成功了!??

在此处输入图片说明

更新 3

下一个挑战是像这样使用“Signtool.exe”添加“管理员权限”。 但这失败了。 错误已更改。 “它需要管理员权限”并导致构建错误。 不成功。

在此处输入图片说明

如果我手动签名,是否足够?

  1. 我用手册签名(目标文件是:Bg7Uwp1_1.0.19.0_x64.appx)“c:\\Program Files (x86)\\Windows Kits\\10\\bin\\10.0.15063.0\\x64\\signtool.exe”签名/fd SHA256 /a /f Bg7Uwp1_TemporaryKey.pfx bin\\x64\\Release\\Bg7Uwp1_1.0.19.0_x64.appx 完成添加附加存储成功签名:bin\\x64\\Release\\Bg7Uwp1_1.0.19.0_x64.appx

  2. 我将所有“发布”文件夹复制到其他 PC。

  3. 我也将“Bg7Uwp1_TemporaryKey.pfx”复制到其他PC。
  4. 在第二台 PC 上,我首先安装认证密钥“Bg7Uwp1_TemporaryKey.pfx”。 成功。
  5. 我尝试通过单击 Bg7Uwp1_1.0.19.0_x64.appx 进行安装
  6. 我无法安装:(

    您需要为此应用程序包安装新证书,或者需要具有受信任证书的新应用程序包。 您的系统管理员或应用程序开发人员可以提供帮助。 证书链已处理,但在不受信任的根证书中终止 (0x800B0109)

在此处输入图片说明

找! 一个解决方案,但还不完美。

有上述错误, 我读了这个。 . 这是将旁加载应用程序安装到 PC 的步骤。 我遵循这个。 我可以解决错误 0x800B0109。

  1. 在文件资源管理器中,右键单击应用程序包,然后在弹出的上下文菜单中选择属性。
  2. 在“属性”对话框中,选择“数字签名”选项卡。
  3. 在签名列表中,选择签名,然后单击详细信息按钮。
  4. 在“数字签名详细信息”对话框中,单击“查看证书”按钮。
  5. 在证书对话框中,单击安装证书...按钮。
  6. 在证书导入向导中,选择本地计算机,然后单击下一步。 您需要授予管理员权限才能继续。
  7. 选择将所有证书放入以下存储区并浏览到 Trusted People 存储区。
  8. 单击下一步,然后单击完成以完成向导。

在这一步之后,我可以将我的 Sideload 安装到我自己的 PC 上。 但是要安装第二台电脑有错误。 (新错误0x80073CF3 )。 但我得到了很大的进步!

更新 4(仍未解决!)

现在,安装其他 PC 是不可能的。 依赖文件不能由 VS 创建。 因为signtool有错误。我必须安装其他PC。 没有它,我所有的时间都会浪费.. :( 请帮助我...

这是旧的依赖文件。 我必须为我的 19 版制作它。 在此处输入图片说明

更新 5

我检查 Vs2017 在后台做什么。 我使用了ProcessMonitor 她执行这个命令。 看起来没什么问题。 我尝试使用 Admin-MS-prompt,它成功了。

"C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64\signtool.exe" sign /fd sha256 /f "Bg7Uwp1_TemporaryKey.pfx" "D:\develop\visualstudio2\shinwatec\Bg7Uwp1\Bg7Uwp1\bin\x64\Release\Bg7Uwp1_1.0.19.0_x64.appx"

但是没有管理员,我在 VS2017 上遇到了同样的错误!

在此处输入图片说明

我找到了解决方案! 并修复它。

使用ProcessMonitor ,我找到了这一行。

在此处输入图片说明

signtool.exe 具有“拒绝访问”以访问 %appdata%\\local\\Temp

我检查文件夹权限。 Temp 文件夹没有权限。 我添加了我自己的用户 Networkname\\username 。

在此处输入图片说明

在这之后。 我成功解决了这个问题。 现在我的visualStudio 2017 可以制作sideLoad 应用程序了! 是的,我不需要再次购买新 PC :)

谢谢你。 寻虫先生。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM