Manifest aplikacji ClickOnce

Manifest aplikacji ClickOnce to plik XML, który opisuje aplikację wdrożoną przy użyciu technologii ClickOnce.

Manifesty aplikacji ClickOnce mają następujące elementy i atrybuty.

Element opis Atrybuty
<assembly> , element Wymagany. Element najwyższego poziomu. manifestVersion
<assemblyIdentity> , element Wymagany. Identyfikuje podstawowy zestaw aplikacji ClickOnce. name

version

publicKeyToken

processorArchitecture

language
<trustInfo> , element Identyfikuje wymagania dotyczące zabezpieczeń aplikacji. Brak
<entryPoint> , element Wymagany. Identyfikuje punkt wejścia kodu aplikacji. name
<dependency> , element Wymagany. Identyfikuje każdą zależność wymaganą do uruchomienia aplikacji. Opcjonalnie identyfikuje zestawy, które należy wstępnie instalować. Brak
<file> , element Opcjonalny. Identyfikuje każdy plik niesassembly używany przez aplikację. Może zawierać dane izolacji modelu obiektów składników (COM) skojarzone z plikiem. name

size

group

optional

writeableType
<fileAssociation> , element Opcjonalny. Identyfikuje rozszerzenie pliku, które ma być skojarzone z aplikacją. extension

description

progid

defaultIcon

Uwagi

Plik manifestu aplikacji ClickOnce identyfikuje aplikację wdrożoną przy użyciu technologii ClickOnce. Aby uzyskać więcej informacji na temat technologii ClickOnce, zobacz Temat ClickOnce Security and Deployment (Zabezpieczenia i wdrażanie technologii ClickOnce).

Lokalizacja pliku

Manifest aplikacji ClickOnce jest specyficzny dla pojedynczej wersji wdrożenia. Z tego powodu powinny być przechowywane oddzielnie od manifestów wdrożenia. Wspólną konwencją jest umieszczenie ich w podkatalogu o nazwie po skojarzonej wersji.

Manifest aplikacji musi być zawsze podpisany przed wdrożeniem. Jeśli ręcznie zmienisz manifest aplikacji, musisz użyć narzędzia mage.exe , aby ponownie podpisać manifest aplikacji, zaktualizować manifest wdrożenia, a następnie ponownie podpisać manifest wdrożenia. Aby uzyskać więcej informacji, zobacz Przewodnik: ręczne wdrażanie aplikacji ClickOnce.

Składnia nazwy pliku

Nazwa pliku manifestu aplikacji ClickOnce powinna być pełną nazwą i rozszerzeniem aplikacji zidentyfikowaną w assemblyIdentity elemecie, a następnie rozszerzeniem manifestu. Na przykład manifest aplikacji odwołujący się do aplikacji Example.exe będzie używać następującej składni nazwy pliku.

example.exe.manifest

Przykład

Poniższy przykład kodu przedstawia manifest aplikacji dla aplikacji ClickOnce.

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1">
  <asmv1:assemblyIdentity name="My Application Deployment.exe" version="1.0.0.0" publicKeyToken="43cb1e8e7a352766" language="neutral" processorArchitecture="x86" type="win32" />
  <application />
  <entryPoint>
    <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
    <commandLine file="MyApplication.exe" parameters="" />
  </entryPoint>
  <trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
        <defaultAssemblyRequest permissionSetReference="Custom" />
      </applicationRequestMinimum>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!--
          UAC Manifest Options
          If you want to change the Windows User Account Control level replace the
          requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

         If you want to utilize File and Registry Virtualization for backward
         compatibility then delete the requestedExecutionLevel node.
    -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentOS>
      <osVersionInfo>
        <os majorVersion="4" minorVersion="10" buildNumber="0" servicePackMajor="0" />
      </osVersionInfo>
    </dependentOS>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.20506.0" />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="4096">
      <assemblyIdentity name="MyApplication" version="1.0.0.0" language="neutral" processorArchitecture="x86" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>DpTW7RzS9IeT/RBSLj54vfTEzNg=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
<publisherIdentity name="CN=DOMAINCONTROLLER\UserMe" issuerKeyHash="18312a18a21b215ecf4cdb20f5a0e0b0dd263c08" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#">
...
</Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

Zobacz też