2014-07-23 2 views
2

Je dois signer une application métier/d'entreprise (construite en tant qu'APPX) pour Windows Phone 8.1 pour la distribution interne. J'ai essayé d'utiliser MSBuild SignFile:Comment signer un fichier APPX pour WP81 en utilisant MSBuild?

<Target Name="SignAppxPhone" AfterTargets="_CreateAppxPackage"> 
    <SignFile 
     CertificateThumbprint="$(CertificateThumbprint)" 
     SigningTarget="$(AppxPackageOutput)" 
     TargetFrameworkVersion="v4.5" /> 
</Target> 

Je reçois l'erreur suivante:

error MSB3482: An error occurred while signing: Data at the root level is invalid. Line 1, position 1. 

Qu'est-ce qui ne va pas?

Répondre

1

La tâche MSBuild SignFile ne supporte que les fichiers PE (* .exe, * .dll) et XML, malheureusement. Les fichiers APPX ou les fichiers CAB ne sont pas pris en charge. J'ai regardé dans Reflector à la dernière version de Microsoft.Build.Tasks.v12.0.dll - livré avec Visual Studio 2013 Update 3 RC, construit le 25/06/2014. Il a été rapporté à Microsoft il y a 6 ans.

https://connect.microsoft.com/VisualStudio/feedback/details/347731/msbuild-signfile-task-fails-with-cab-files

Une solution raisonnable est de <Exec> SignTool.exe directement:

<Target Name="SignAppxPhone" AfterTargets="_CreateAppxPackage"> 
    <Exec Command="&quot;$(SignAppxPackageExeFullPath)&quot; sign /fd SHA256 /sha1 $(CertificateThumbprint) /t http://timestamp.verisign.com/scripts/timstamp.dll &quot;$(AppxPackageOutput)&quot;" /> 
</Target> 
+0

Merci pour un excellent pointeur! M'a sauvé aujourd'hui. –

Questions connexes