【问题标题】:UWP : SignTool Error: Access is denied. ( Resolve ! )UWP:SignTool 错误:访问被拒绝。 ( 解决 ! )
【发布时间】:2018-03-27 16:40:20
【问题描述】:

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

当我在 Visual Studio 2017 上编译“SideLoad”应用程序时。再次发生此错误。

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

这里有一些附加信息。

  1. x64,Windows 10,操作系统 1703,内部版本 15063.675。
  2. Visual Studio 2017
  3. 这是新电脑。管理员、本地用户,而非 MSN 用户。
  4. 目标版本:Windows 10 Creator Update(10.0;Build 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 项。但它根本没有解决。唯一的办法就是购买新电脑并重新安装 VS。

更新 2

在VS2017编译输出的详细模式下,发现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. 我将所有“Release”文件夹复制到其他 PC。

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

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

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

出现上述错误,I read this.。这是将 Sideload 应用程序安装到 PC 的步骤。我遵循这个。我可以解决错误 0x800B0109。

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

【问题讨论】:

  • 你确定你有一个有效的证书
  • 购买新电脑后,我将所有cs,xaml文件复制到新项目中。使用此证书构建侧载应用程序运行良好且成功。但 1 个月后,它变为相同的状态。我从不修改密钥( Bg7Uwp1_TemporaryKey.pfx )。那么,它应该是有效的。
  • 你确定密钥没有用完?
  • 当我双击“Bg7Uwp1_temporarykey.pfx”键时。 “Certmgr”显示 2018/08/19 到期日期。那么,它是有效的。
  • github.com/javafx-maven-plugin/javafx-maven-plugin/issues/286 - 它可能被标记为只读 - 但现在我只是猜测

标签: c# visual-studio uwp


【解决方案1】:

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

通过ProcessMonitor,我找到了这条线。

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

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

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

谢谢。寻虫先生。

【讨论】:

  • 是的,完美解决了。但我又遇到了同样的问题。但我可以轻松修复它。我认为我安装的应用程序或操作系统之一更改了 TMP 权限。我不知道哪个应用程序有问题。 ...
猜你喜欢
  • 2021-09-14
  • 1970-01-01
  • 2018-08-14
  • 1970-01-01
  • 2012-11-27
  • 2011-04-13
  • 1970-01-01
  • 2010-10-24
  • 2012-12-21
相关资源
最近更新 更多