UWP:SignTool错误:访问被拒绝。 (解决!)

时间:2017-10-16 08:03:16

标签: c# visual-studio uwp

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

当我编译" SideLoad" Visual Studio 2017上的应用程序。此错误再次发生。

这不是我的第一次。以前,我无法解决此错误。然后,我买了新戴尔PC :(是的,在一段时间内,它工作正常,没有任何问题。但我再次看到同样的错误,今天!

以下是一些其他信息。

  1. x64,Windows 10,Os ver 1703,Build 15063.675。
  2. Visual Studio 2017
  3. 这是新PC。管理员,本地用户,而不是MSN用户。
  4. 目标版本:Windows 10 Creator更新(10.0; Build 15063)
  5. 最低版本:Windows 10 November Update(10.0; Build 10586)
  6. 在构建侧载应用程序之后,此错误显示::

    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 ===========                                                                                                                                                                                                                                                                            
    

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

    enter image description here

    更新1

    并且在这个麻烦之后,我打开新的Uwp项目并启动sideload编译。它显示相同的错误!这与以前的PC一样!现在,我的Vs2017无法进行侧载  空的UWP项目!!

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

    更新2

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

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

    1. 使用Admin
    2. 打开命令提示符工具
    3. 运行以下命令。我成功签了!??
    4. enter image description here

      更新3

      接下来的挑战是添加"管理员权限"使用" Signtool.exe"像这样。但这失败了。错误已更改。 "它需要管理员权限"它会造成构建错误。没有成功。

      enter image description here

      问题

      如果我手动签名,这还够吗?

      1. 我使用手动签名(目标文件是:Bg7Uwp1_1.0.19.0_x64.appx)" c:\ Program Files(x86)\ Windows Kits \ 10 \ bin \ 10.0.15063.0 \ x64 \ signtool .EXE" sign / 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"到其他电脑也是如此。
      4. 在第二台PC上,我首先安装认证密钥" Bg7Uwp1_TemporaryKey.pfx"。成功。
      5. 我尝试点击Bg7Uwp1_1.0.19.0_x64.appx进行安装
      6. 我无法安装:(

          
            

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

          
      7. enter image description here

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

        有上述错误,I read this.。这是将sideload应用程序安装到PC的一个步骤。我跟着这个。我可以解决错误0x800B0109。

        1. 在文件资源管理器中,右键单击应用包,然后在弹出的上下文菜单中选择“属性”。
        2. 在“属性”对话框中,选择“数字签名”选项卡。
        3. 在“签名”列表中,选择签名,然后单击“详细信息”按钮。
        4. 在“数字签名详细信息”对话框中,单击“查看证书”按钮。
        5. 在“证书”对话框中,单击“安装证书...”按钮。
        6. 在“证书导入向导”中,选择“本地计算机”,然后单击“下一步”。您需要授予管理员权限才能继续。
        7. 选择将所有证书放在以下商店中,然后浏览到“受信任的人”商店。
        8. 单击“下一步”,然后单击“完成”以完成向导。
        9. 在此步骤之后,我可以将Sideload安装到我自己的PC上。但要安装第二台PC有错误。 (新错误0x80073CF3)。但是我得到了很大的改善!

          更新4(暂不解决!)

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

          这是旧的依赖项文件。我必须为我的第19版做到这一点。 enter image description here

          更新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"
          

          但是如果没有Admin,我在VS2017中遇到了同样的错误!

          enter image description here

1 个答案:

答案 0 :(得分:1)

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

ProcessMonitor,我发现了这一行。

enter image description here

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

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

enter image description here

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

谢谢你。 BugFinder先生。