2009-05-19 10 views
6

Skonfigurowałem swój prosty projekt w Visual   Studio   2008, aby użyć instalatora ClickOnce. Podkreśliłem, że manifesty ClickOnce powinny być podpisane przez plik naszej firmy PFX. Kiedy ustawiłem to w Visual Studio, poprosiłem o podanie hasła do pliku PFX, który chętnie dostarczyłem. Wszystko działa poprawnie, gdy buduję i publikuję z poziomu Visual Studio. Działa również dobrze budynku z MSBuild na moim komputerze.Używanie MSBuild do podpisywania ClickOnce lub montażu powoduje błąd MSB3321

Jednak gdy próbuję zbudować go za pomocą programu MSBuild na naszej maszynie kompilacji, pojawia się następujący błąd:

ERROR MSB3321 in 
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7) 
    : Importing key file "ourCertificate.pfx" was canceled (sic). 

Po poszukiwaniach znalazłem trochę informacji, które mówi, że to dlatego, że nie podałem hasła. Ale nie mogę znaleźć sposobu na dostarczenie hasła na maszynie budującej. Widziałem również sugestie dotyczące instalacji Visual Studio i dostarczenia hasła raz w Visual Studio, a następnie będzie działać z MSBuild po tym. Ale naprawdę chciałbym uniknąć instalowania programu Visual Studio na komputerze kompilacji.

Próbowałem dwukrotnie kliknąć plik PFX, aby go zaimportować i wprowadzić hasło, gdy go zapytano, ale to nie pomogło.

To samo dzieje się, gdy zaznaczę opcję "Podpisz zestaw" w programie Visual Studio i podaj ten sam plik PFX.

Jak mogę rozwiązać ten problem? Czy istnieje ręczny sposób przechowywania hasła na maszynie budującej?

Odpowiedz

6

Czy można zaimportować certyfikat do magazynu Zaufany wydawca na komputerze kompilowanym? (Internet Explorer> Narzędzia> Opcje> Treść> Certyfikaty)

Nie używam MSBuild do tworzenia wdrożeń; Używam maga. Jednak używam naszego pliku .pfx do zaimportowania naszego certyfikatu do mojego sklepu Trusted Publisher. W tym celu muszę wprowadzić hasło. Po tym, kiedy zapiszę manifest w Maga, nie muszę już podawać hasła. Mogę po prostu wybrać certyfikat z mojego sklepu.

+1

Udało mi się zaimportować certyfikat do mojego sklepu z zaufanymi wydawcami. – Wilka

+0

Oprócz tego musiałem użyć tej właściwości msbuild, aby polecić msbuild, aby podpisał aplikację ClickOnce: ** ManifestCertificateThumbprint ** [... to mi pomogło] (http://huntjason.wordpress.com/2009/10/22/publishing-clickonce-applications-to-run-side-by-side-for-different-environments-from-the-command-line-using-nant /) – ms007

Powiązane problemy