W porządku, nie robię czegoś dobrze i potrzebuję pomocy. Oto, co się dzieje:Używanie Authenticode z aplikacją ClickOnce WPF
- Mam "prawdziwy" certyfikat Authenticode z Comodo, za który zapłaciłem.
- Próbuję podpisać i wdrożyć aplikację WPF napisaną w Visual Studio 2012 i .NET 4.5.
- We właściwościach projektu zaznaczyłem "Podaj manifesty ClickOnce" i wybrałem mój certyfikat.
- Używam również datownika sever Comodo'S (http://timestamp.comodoca.com/authenticode)
- W zakładce Publish i pod przyciskiem przesłanek mam zaznaczone „Utwórz program instalacyjny, aby zainstalować składniki wstępnych”.
Kiedy buduję i publikuję, wszystko działa! Plik setup.exe jest podpisany za pomocą mojego certyfikatu Comodo, więc to dobrze. Ponadto plik .application
jest podpisany certyfikatem Comodo, a nazwa mojej firmy jest widoczna jako wydawca - jest to również dobre.
Oto problem: po pobraniu aplikacji do klienta system Windows 8 generuje ostrzeżenie o niezaufanym programie (MyProgram.exe), a wydawca nie jest nazwą mojej firmy. Tak więc wszystko jest podpisane , z wyjątkiem rzeczywistego pliku wykonywalnego.
Próbowałem dodać skrypt post-build, który używa signtool.exe na obj \ Release \ MyProgram.exe, ale gdy próbuję zainstalować aplikację, pojawia się oczywisty błąd stwierdzając, że wartości mieszania nie " t dopasowanie. Innymi słowy, manifest jest generowany przed wydarzeniem następującym po budowaniu.
Jak mogę zarejestrować mój .exe i zachować integralność manifestu ClickOnce? Czy istnieje prosty sposób, aby to zrobić, czy też muszę ręcznie używać mage.exe (mam nadzieję, że nie)?
Używam tego wydarzenia od lat. Przeszedł do tego problemu, przełączając się na VS2012. Próbowałem tej metody - ale nadal otrzymuję "ma inny obliczony skrót niż podano w manifeście". – tofutim
Scratch that ... Jakoś zapomniałem usunąć stare wywołanie funkcji PostBuild! Dzięki Jason. – tofutim
Wielkie dzięki, Jason, że go przybiłeś! –