Dela via


Genomgång: Distribuera ett ClickOnce-program manuellt

Om du inte kan använda Visual Studio för att distribuera ditt ClickOnce-program, eller om du behöver använda avancerade distributionsfunktioner, till exempel Distribution av betrodda program, bör du använda Mage.exe kommandoradsverktyget för att skapa clickOnce-manifesten. Den här genomgången beskriver hur du skapar en ClickOnce-distribution med hjälp av antingen kommandoradsversionen (Mage.exe) eller den grafiska versionen (MageUI.exe) av manifestgenererings- och redigeringsverktyget.

Anmärkning

I ClickOnce för .NET Core 3.1 och .NET 5 eller senare använder dudotnet-mage.exe i stället för Mage.exe. Mer information finns i ClickOnce för .NET.

Förutsättningar

Den här genomgången innehåller vissa förutsättningar och alternativ som du måste välja innan du skapar en distribution.

  • Installera Mage.exe och MageUI.exe.

    Mage.exe och MageUI.exe ingår i Windows Software Development Kit (SDK). Du måste antingen ha Windows SDK installerat eller den version av Windows SDK som ingår i Visual Studio.

  • Ange ett program som ska distribueras.

    Den här genomgången förutsätter att du har ett Windows-program som du är redo att distribuera. Det här programmet kallas AppToDeploy.

  • Bestäm hur distributionen ska distribueras.

    Distributionsalternativ inkluderar: Webb, fildelning eller CD. Mer information finns i Säkerhet och distribution av ClickOnce.

  • Avgör om programmet kräver en förhöjd förtroendenivå.

    Om programmet kräver fullständigt förtroende, till exempel fullständig åtkomst till användarens system, kan du använda -TrustLevel alternativet Mage.exe för att ange detta. Om du vill definiera en anpassad behörighetsuppsättning för ditt program kan du kopiera avsnittet Internet- eller intranätbehörighet från ett annat manifest, ändra den efter dina behov och lägga till den i programmanifestet med hjälp av antingen en textredigerare eller MageUI.exe. Mer information finns i Översikt över distribution av betrodda program.

  • Skaffa ett Authenticode-certifikat.

    Du bör signera distributionen med ett Authenticode-certifikat. Du kan generera ett testcertifikat med hjälp av Visual Studio, MageUI.exeeller och MakeCert.exePvk2Pfx.exe verktyg, eller så kan du hämta ett certifikat från en certifikatutfärdare (CA). Om du väljer att använda distribution av betrodda program måste du också utföra en engångsinstallation av certifikatet på alla klientdatorer. Mer information finns i Översikt över distribution av betrodda program.

    Anmärkning

    Du kan också signera distributionen med ett CNG-certifikat som du kan hämta från en certifikatutfärdare.

  • Kontrollera att programmet inte har något manifest med UAC-information.

    Du måste avgöra om ditt program innehåller ett manifest med UAC-information (User Account Control), till exempel ett <dependentAssembly> element. Om du vill undersöka ett programmanifest kan du använda Sigcheck-verktyget Windows Sysinternals.

    Om ditt program innehåller ett manifest med UAC-information måste du återskapa det utan UAC-informationen. För ett C#-projekt i Visual Studio öppnar du projektegenskaperna och väljer fliken Program. I listrutan Manifest väljer du Skapa program utan manifest. För ett Visual Basic-projekt i Visual Studio öppnar du projektegenskaperna, väljer fliken Program och klickar på Visa UAC-inställningar. Ta bort alla element i det enskilda <asmv1:assembly> elementet i den öppna manifestfilen.

  • Avgör om programmet kräver krav på klientdatorn.

    ClickOnce-applikationer som distribueras från Visual Studio kan innehålla en installationsstödfunktion (setup.exe) med din utplacering. Den här genomgången skapar de två manifest som krävs för en ClickOnce-distribution. Du kan skapa en förutsättningsbootstrapper genom att använda GenerateBootstrapper-uppgiften.

Distribuera ett program med kommandoradsverktyget Mage.exe

  1. Skapa en katalog där du ska lagra dina ClickOnce-distributionsfiler.

  2. Skapa en underkatalog för version i distributionskatalogen som du nyss skapade. Om det är första gången du distribuerar programmet namnger du underkatalogen version 1.0.0.0.

    Anmärkning

    Distributionsversionen kan skilja sig från versionen av ditt program.

  3. Kopiera alla dina programfiler till underkatalogen version, inklusive körbara filer, sammansättningar, resurser och datafiler. Om det behövs kan du skapa ytterligare underkataloger som innehåller ytterligare filer.

  4. Öppna kommandotolken för Windows SDK eller Visual Studio och navigera till underkatalogen för versionen.

  5. Skapa programmanifestet med ett anrop till Mage.exe. Följande instruktion skapar ett programmanifest för kod som kompilerats för att köras på Intel x86-processorn.

    mage -New Application -Processor x86 -ToFile AppToDeploy.exe.manifest -name "My App" -Version 1.0.0.0 -FromDirectory .
    

    Anmärkning

    Se till att inkludera punkten (.) efter -FromDirectory alternativet, vilket anger den aktuella katalogen. Om du inte inkluderar punkten måste du ange sökvägen till dina programfiler.

  6. Signera programmanifestet med ditt Authenticode-certifikat. Ersätt mycert.pfx med sökvägen till certifikatfilen. Ersätt passwd med lösenordet för certifikatfilen.

    mage -Sign AppToDeploy.exe.manifest -CertFile mycert.pfx -Password passwd
    

    Från och med .NET Framework 4.6.2 SDK, som distribueras med Visual Studio och med Windows SDK, mage.exe signerar manifest med CNG samt med Authenticode-certifikat. Använd samma kommandoradsparametrar som med Authenticode-certifikat.

  7. Ändra till roten för distributionskatalogen.

  8. Generera distributionsmanifestet med ett anrop till Mage.exe. Som standard Mage.exe markerar du ClickOnce-distributionen som ett installerat program så att den kan köras både online och offline. Om du bara vill göra programmet tillgängligt när användaren är online använder du -Install alternativet med värdet false. Om du använder standardinställningen och användarna installerar programmet från en webbplats eller filresurs kontrollerar du att värdet för -ProviderUrl alternativet pekar på platsen för programmanifestet på webbservern eller resursen.

    mage -New Deployment -Processor x86 -Install true -Publisher "My Co." -ProviderUrl "\\myServer\myShare\AppToDeploy.application" -AppManifest 1.0.0.0\AppToDeploy.exe.manifest -ToFile AppToDeploy.application
    
  9. Signera distributionsmanifestet med ditt Authenticode- eller CNG-certifikat.

    mage -Sign AppToDeploy.application -CertFile mycert.pfx -Password passwd
    
  10. Kopiera alla filer i distributionskatalogen till distributionsmålet eller mediet. Det kan vara antingen en mapp på en webbplats eller FTP-plats, en filresurs eller en CD-ROM.

  11. Ge användarna den URL, UNC eller fysiska media som krävs för att installera programmet. Om du anger en URL eller en UNC måste du ge användarna den fullständiga sökvägen till distributionsmanifestet. Om AppToDeploy till exempel distribueras till http://webserver01/ i katalogen AppToDeploy blir http://webserver01/AppToDeploy/AppToDeploy.application den fullständiga URL-sökvägen.

Distribuera ett program med det MageUI.exe grafiska verktyget

  1. Skapa en katalog där du ska lagra dina ClickOnce-distributionsfiler.

  2. Skapa en underkatalog för version i distributionskatalogen som du nyss skapade. Om det är första gången du distribuerar programmet namnger du underkatalogen version 1.0.0.0.

    Anmärkning

    Versionen av distributionen skiljer sig förmodligen från versionen av ditt program.

  3. Kopiera alla dina programfiler till underkatalogen version, inklusive körbara filer, sammansättningar, resurser och datafiler. Om det behövs kan du skapa ytterligare underkataloger som innehåller ytterligare filer.

  4. Starta det MageUI.exe grafiska verktyget.

    MageUI.exe
    
  5. Skapa ett nytt programmanifest genom att välja Arkiv, Nytt, Programmanifest på menyn.

  6. På fliken Namn som standard skriver du namnet och versionsnumret för den här distributionen. Ange även processorn som ditt program har skapats för, till exempel x86.

  7. Välj fliken Filer och välj sedan ellipsknappen (...) bredvid textrutan Programkatalog . Dialogrutan Bläddra efter mapp visas.

  8. Välj underkatalogen version som innehåller dina programfiler och välj sedan OK.

  9. Om du ska distribuera från Internet Information Services (IIS), markerar du kryssrutan När du fyller i, lägg till .deploy-tillägget till alla filer som inte har det.

  10. Gå till knappen Fyll i för att lägga till alla programfiler i fillistan. Om programmet innehåller mer än en körbar fil markerar du den körbara huvudfilen för den här distributionen som startprogram genom att välja Startpunkt i listrutan Filtyp . (Om ditt program bara innehåller en körbar fil, kommer MageUI.exe att markera den åt dig.)

  11. Välj fliken Behörigheter som krävs och välj den förtroendenivå som du behöver för programmet. Standardvärdet är FullTrust, som passar för de flesta program.

  12. Välj Arkiv, Spara som på menyn. Dialogrutan Signeringsalternativ visas där du uppmanas att signera programmanifestet.

  13. Om du har ett certifikat som lagras som en fil i filsystemet använder du alternativet Signera med certifikatfil och väljer certifikatet från filsystemet med hjälp av ellipsknappen (...). Skriv sedan ditt certifikatlösenord.

    -eller-

    Om certifikatet sparas i ett certifikatarkiv som är tillgängligt från datorn väljer du alternativet Signera med lagrat certifikat och väljer certifikatet i den angivna listan.

  14. Välj OK för att signera programmanifestet. Dialogrutan Spara som visas.

  15. I dialogrutan Spara som anger du versionskatalogen och väljer sedan Spara.

  16. Välj Arkiv, Nytt, Distributionsmanifest på menyn för att skapa distributionsmanifestet.

  17. På fliken Namn anger du ett namn och versionsnummer för den här distributionen (1.0.0.0 i det här exemplet). Ange även processorn som ditt program har skapats för, till exempel x86.

  18. Välj fliken Beskrivning och ange värden för Publisher och Product. (Produkten är namnet på ditt program på Start-menyn i Windows när programmet installeras på en klientdator för offlineanvändning.)

  19. Välj fliken Distributionsalternativ och i textrutan Startplats anger du platsen för programmanifestet på webbservern eller resursen. Till exempel \\myServer\myShare\AppToDeploy.application.

  20. Om du lade till .deploy tillägget i ett tidigare steg väljer du även Använd filnamnstillägget .deploy här.

  21. Välj fliken Uppdateringsalternativ och ange hur ofta du vill att programmet ska uppdateras. Om ditt program använder UpdateCheckInfo för att söka efter själva uppdateringar avmarkerar du kryssrutan Det här programmet bör söka efter uppdateringar .

  22. Välj fliken Programreferens och gå sedan till knappen Välj manifest . En öppen dialogruta visas.

  23. Välj det programmanifest som du skapade tidigare och välj sedan Öppna.

  24. Välj Arkiv, Spara som på menyn. Dialogrutan Signeringsalternativ visas där du uppmanas att signera distributionsmanifestet.

  25. Om du har ett certifikat som lagras som en fil i filsystemet använder du alternativet Signera med certifikatfil och väljer certifikatet från filsystemet med hjälp av ellipsknappen (...). Skriv sedan ditt certifikatlösenord.

    -eller-

    Om certifikatet sparas i ett certifikatarkiv som är tillgängligt från datorn väljer du alternativet Signera med lagrat certifikat och väljer certifikatet i den angivna listan.

  26. Gå till OK för att signera distributionsmanifestet. Dialogrutan Spara som visas.

  27. I dialogrutan Spara som flyttar du upp en katalog till roten för distributionen och väljer sedan Spara.

  28. Kopiera alla filer i distributionskatalogen till distributionsmålet eller mediet. Det kan vara antingen en mapp på en webbplats eller FTP-plats, en filresurs eller en CD-ROM.

  29. Ge användarna den URL, UNC eller fysiska media som krävs för att installera programmet. Om du anger en URL eller en UNC måste du ge användarna den fullständiga sökvägen till distributionsmanifestet. Om AppToDeploy till exempel distribueras till http://webserver01/ i katalogen AppToDeploy blir http://webserver01/AppToDeploy/AppToDeploy.application den fullständiga URL-sökvägen.

Nästa steg

När du behöver distribuera en ny version av programmet skapar du en ny katalog med namnet efter den nya versionen, till exempel 1.0.0.1, och kopierar de nya programfilerna till den nya katalogen. Därefter måste du följa föregående steg för att skapa och signera ett nytt programmanifest och uppdatera och signera distributionsmanifestet. Var noga med att ange samma högre version i både Mage.exe-New och -Update-anropen, eftersom ClickOnce endast uppdaterar högre versioner, där det vänstra heltalet är mest betydande. Om du använde MageUI.exekan du uppdatera distributionsmanifestet genom att öppna det, välja fliken Programreferens , gå till knappen Välj manifest och sedan välja det uppdaterade programmanifestet.