Manifesti dell'applicazione

Un manifesto dell'applicazione (noto anche come manifesto dell'applicazione side-by-side o manifesto fusion ) è un file XML che descrive e identifica gli assembly condivisi e privati side-by-side a cui un'applicazione deve essere associata in fase di esecuzione. Le versioni di questi assembly devono corrispondere a quelle utilizzate per testare l'applicazione. I manifesti dell'applicazione possono anche descrivere i metadati per i file privati dell'applicazione.

Per un elenco completo dello schema XML, vedere Schema di file manifesto.

I manifesti dell'applicazione hanno gli elementi e gli attributi seguenti.

Elemento Attributi Necessario
Assemblea
manifestVersion
noInherit No
Assemblyidentity
type
nome
language No
processorArchitecture No
version
Publickeytoken No
Compatibilità No
application No
supportedOS Id No
maxversiontested Id No
Dipendenza No
dependentAssembly No
File No
nome No
hashalg No
hash No
activeCodePage No
autoElevate No
disableTheming No
disableWindowFiltering No
dpiAware No
dpiAwareness No
gdiScaling No
highResolutionScrollingAware No
longPathAware No
printerDriverIsolation No
ultraHighResolutionScrollingAware No
msix No
heapType No

Percorso del file

Se possibile, è necessario incorporare il manifesto dell'applicazione come risorsa nel file dell'applicazione .exe o .dll. Se non è possibile eseguire questa operazione, è possibile inserire il file manifesto dell'applicazione nella stessa directory di .exe o .dll.

Per altre informazioni, vedere Installazione di assembly side-by-side.

Nome file

Per convenzione, un manifesto dell'applicazione deve avere lo stesso nome del file eseguibile dell'app, con l'estensione .manifest aggiunta.

Ad esempio, un manifesto dell'applicazione che fa riferimento a example.exe o example.dll deve usare la sintassi del nome file seguente (se l'ID risorsa è 1, è possibile omettere il < segmento ID> risorsa della sintassi).

example.exe.<ID> risorsa. Manifesto

example.dll.<ID> risorsa. Manifesto

Elementi

I nomi di elementi e attributi fanno distinzione tra maiuscole e minuscole. I valori di elementi e attributi non fanno distinzione tra maiuscole e minuscole, ad eccezione del valore dell'attributo type.

assembly

Elemento contenitore. Il primo sottoelemento deve essere un elemento noInherit o assemblyIdentity . Obbligatorio.

L'elemento assembly deve trovarsi nello spazio dei nomi urn:schemas-microsoft-com:asm.v1. Anche gli elementi figlio dell'assembly devono trovarsi in questo spazio dei nomi, tramite ereditarietà o assegnazione di tag.

L'elemento assembly ha gli attributi seguenti.

Attributo Descrizione
manifestVersion L'attributo manifestVersion deve essere impostato su 1.0.

noInherit

Includere questo elemento in un manifesto dell'applicazione per impostare i contesti di attivazione generati dal manifesto con il flag "no inherit". Quando questo flag non è impostato in un contesto di attivazione e il contesto di attivazione è attivo, viene ereditato da nuovi thread nello stesso processo, finestre, routine finestra e Chiamate asincrone di routine. L'impostazione di questo flag impedisce al nuovo oggetto di ereditare il contesto attivo.

L'elemento noInherit è facoltativo e in genere omesso. La maggior parte degli assembly non funziona correttamente usando un contesto di attivazione senza eredita perché l'assembly deve essere progettato in modo esplicito per gestire la propagazione del proprio contesto di attivazione. L'uso dell'elemento noInherit richiede che tutti gli assembly dipendenti a cui fa riferimento il manifesto dell'applicazione abbiano un elemento noInherit nel manifesto dell'assembly.

Se noInherit viene usato in un manifesto, deve essere il primo sottoelemento dell'elemento assembly . L'elemento assemblyIdentity deve venire immediatamente dopo l'elemento noInherit . Se noInherit non viene utilizzato, assemblyIdentity deve essere il primo sottoelemento dell'elemento assembly . L'elemento noInherit non ha elementi figlio. Non è un elemento valido nei manifesti dell'assembly.

assemblyIdentity

Come primo sottoelemento di un elemento assembly , assemblyIdentity descrive e identifica in modo univoco l'applicazione proprietaria del manifesto dell'applicazione. Come primo sottoelemento di un elemento dependentAssembly , assemblyIdentity descrive un assembly side-by-side richiesto dall'applicazione. Si noti che ogni assembly a cui si fa riferimento nel manifesto dell'applicazione richiede un assemblyIdentity che corrisponde esattamente all'assemblyIdentity nel manifesto dell'assembly a cui si fa riferimento.

L'elemento assemblyIdentity ha gli attributi seguenti. Non ha sottoelementi.

Attributo Descrizione
type Specifica l'applicazione o il tipo di assembly. Il valore deve essere Win32 e tutto in lettere minuscole. Obbligatorio.
nome Assegna un nome univoco all'applicazione o all'assembly. Usare il formato seguente per il nome: Organization.Division.Name. Ad esempio Microsoft.Windows.mysampleApp. Obbligatorio.
language Identifica la lingua dell'applicazione o dell'assembly. Facoltativa. Se l'applicazione o l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Nell'assemblyIdentity di un'applicazione destinata all'uso globale (indipendente dalla lingua) omettere l'attributo language.
In un assemblyIdentity di un assembly destinato all'uso globale (indipendente dalla lingua) impostare il valore della lingua su "*".
processorArchitecture Specifica il processore. I valori validi includono x86, amd64, arm e arm64. Facoltativa.
version Specifica la versione dell'applicazione o dell'assembly. Usare il formato di versione in quattro parti: mmmmm.nnnnn.ooooo.ppppp. Ognuna delle parti separate da periodi può essere compresa tra 0 e 65535 inclusi. Per altre informazioni, vedere Versioni assembly. Obbligatorio.
Publickeytoken Stringa esadecimale di 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui l'applicazione o l'assembly è firmato. La chiave pubblica usata per firmare il catalogo deve essere di 2048 bit o superiore. Obbligatorio per tutti gli assembly side-by-side condivisi.

compatibilità

Contiene almeno un'applicazione. Non ha attributi. Facoltativa. Manifesti dell'applicazione senza un elemento di compatibilità predefinito per la compatibilità di Windows Vista in Windows 7.

application

Contiene almeno un elemento supportatoOS . A partire da Windows 10 versione 1903, può contenere anche un elemento maxversiontested facoltativo. Non ha attributi. Facoltativa.

supportedOS

L'elemento supportedOS ha l'attributo seguente. Non ha sottoelementi.

Attributo Descrizione
Id Impostare l'attributo Id su {e2011457-1546-43c5-a5fe-008deee3d3f0} per eseguire l'applicazione usando la funzionalità Vista. Ciò consente l'esecuzione di un'applicazione progettata per Windows Vista in un sistema operativo successivo.
Impostare l'attributo Id su {35138b9a-5d96-4fbd-8e2d-a2440225f93a} per eseguire l'applicazione usando la funzionalità di Windows 7.
Le applicazioni che supportano Windows Vista, Windows 7 e Windows 8 funzionalità non richiedono manifesti separati. In questo caso, aggiungere i GUID per tutti i sistemi operativi Windows.
Per informazioni sul comportamento dell'attributo Id in Windows, vedi il Windows 8 e Windows Server 2012 guida di riferimento per la compatibilità.
I GUID seguenti corrispondono ai sistemi operativi indicati:
{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a} -> Windows 10, Windows 11, Windows Server 2016, Windows Server 2019 e Windows Server 2022
{1f676c76-80e1-4239-95bb-83d0f6d0da78} -> Windows 8.1 e Windows Server 2012 R2
{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38} -> Windows 8 e Windows Server 2012
{35138b9a-5d96-4fbd-8e2d-a2440225f93a} -> Windows 7 e Windows Server 2008 R2
{e2011457-1546-43c5-a5fe-008deee3d3f0} -> Windows Vista e Windows Server 2008
È possibile testarlo in Windows 7 o Windows 8.x eseguendo Monitoraggio risorse (resmon), passando alla scheda CPU, facendo clic con il pulsante destro del mouse sulle etichette di colonna, "Seleziona colonna..." e selezionare "Contesto del sistema operativo". In Windows 8.x è anche possibile trovare questa colonna disponibile in Gestione attività (taskmgr). Il contenuto della colonna mostra il valore più alto trovato o "Windows Vista" come impostazione predefinita.

maxversiontested

L'elemento maxversiontested specifica le versioni di Windows che l'applicazione è stata testata a partire dalla versione minima del sistema operativo supportata dall'applicazione fino alla versione massima. Il set completo di versioni è disponibile qui. Questa operazione deve essere usata dalle applicazioni desktop che usano isole XAML e che non vengono distribuite in un pacchetto MSIX. Questo elemento è supportato in Windows 10, versione 1903 e versioni successive.

L'elemento maxversiontested ha l'attributo seguente. Non ha sottoelementi.

Attributo Descrizione
Id Impostare l'attributo Id su una stringa di versione in 4 parti che specifica la versione massima di Windows su cui è stata testata l'applicazione. Ad esempio, "10.0.18226.0".

dependency

Contiene almeno un oggetto dependentAssembly. Non ha attributi. Facoltativa.

dependentAssembly

Il primo sottoelemento di dependentAssembly deve essere un elemento assemblyIdentity che descrive un assembly side-by-side richiesto dall'applicazione. Ogni dipendenteAssembly deve trovarsi all'interno di una dipendenza esatta. Non ha attributi.

file

Specifica i file privati dell'applicazione. Facoltativa.

L'elemento file ha gli attributi visualizzati nella tabella seguente.

Attributo Descrizione
nome Nome del file. Ad esempio, Comctl32.dll.
hashalg Algoritmo usato per creare un hash del file. Questo valore deve essere SHA1.
hash Hash del file a cui fa riferimento il nome. Stringa esadecimale di lunghezza a seconda dell'algoritmo hash.

activeCodePage

In Windows 10 questo elemento forza un processo a usare UTF-8 come tabella codici del processo. Per altre informazioni, vedere Usare la tabella codici UTF-8. In Windows 10, l'unico valore valido per activeCodePage è UTF-8.

A partire da Windows 11, questo elemento consente anche la selezione della tabella codici non UTF-8 legacy o delle pagine codici per impostazioni locali specifiche per la compatibilità dell'applicazione legacy. Le applicazioni moderne sono fortemente incoraggiate a usare Unicode. In Windows 11, activeCodePage può anche essere impostato sul valore Legacy o su un nome delle impostazioni locali, ad esempio en-US o ja-JP.

  • Nei computer configurati in una tabella codici attiva del sistema UTF-8, Legacy ripristina il processo nelle pagine codici delle impostazioni locali di sistema. Se le impostazioni locali del sistema non hanno pagine codici definite, verrà usato Windows-1252/437. L'impostazione di codepage legacy è supportata solo nei manifesti Fusion e inizia solo con Windows 11.
  • Quando viene fornito un nome delle impostazioni locali, ad esempio en-US , la tabella codici del processo verrà impostata in modo appropriato per tale tabella codici delle impostazioni locali. Ad esempio, Windows-1252 e 437 per en-US o 932 per ja-JP.

Questo elemento è stato aggiunto in Windows 10 versione 1903 (aggiornamento maggio 2019). È possibile dichiarare questa proprietà ed eseguire nelle build di Windows precedenti, ma è necessario gestire il rilevamento e la conversione della tabella codici legacy come di consueto. Questo elemento non ha attributi.

Nell'esempio seguente viene illustrato come usare questo elemento per forzare il processo corrente per usare UTF-8 come tabella codici del processo.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings"> 
      <activeCodePage>UTF-8</activeCodePage> 
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

autoElevate

Specifica se l'elevazione automatica è abilitata. TRUE indica che è abilitato. Non ha attributi. Il file eseguibile deve essere firmato digitalmente da Windows Publisher. Per uso interno.

disableTheming

Specifica se specificare gli elementi dell'interfaccia utente che un tema è disabilitato. TRUE indica disabilitato. Non ha attributi.

disableWindowFiltering

Specifica se disabilitare il filtro delle finestre. TRUE disabilita il filtro delle finestre in modo da poter enumerare le finestre immersive dal desktop. disableWindowFiltering è stato aggiunto in Windows 8 e non ha attributi.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <disableWindowFiltering>true</disableWindowFiltering>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAware

Specifica se il processo corrente è consapevole di punti per pollice (dpi).

Windows 10, versione 1607: l'elemento dpiAware viene ignorato se è presente l'elemento dpiAwareness. È possibile includere entrambi gli elementi in un manifesto se si vuole specificare un comportamento diverso per Windows 10, versione 1607 rispetto a una versione precedente del sistema operativo.

La tabella seguente descrive il comportamento che genera in base alla presenza dell'elemento dpiAware e al testo che contiene. Il testo all'interno dell'elemento non è distinzione tra maiuscole e minuscole.

Stato dell'elemento dpiAware Descrizione
Assente Il processo corrente non è a conoscenza per impostazione predefinita. È possibile modificare questa impostazione a livello di codice chiamando la funzione SetProcessDpiAwareness o SetProcessDPIAware.
Contiene "true" Il processo corrente è compatibile con dpi di sistema.
Contiene "false" Windows Vista, Windows 7 e Windows 8: il comportamento è uguale a quando il dpiAware è assente.
Windows 8.1 e Windows 10: il processo corrente non è a conoscenza e non è possibile modificare a livello di programmazione questa impostazione chiamando la funzione SetProcessDpiAwareness o SetProcessDPIAware.
Contiene "true/pm" Windows Vista, Windows 7 e Windows 8: il processo corrente è compatibile con dpi di sistema.
Windows 8.1 e Windows 10: il processo corrente è compatibile con dpi per monitor.
Contiene "per monitoraggio" Windows Vista, Windows 7 e Windows 8: il comportamento è uguale a quando il dpiAware è assente.
Windows 8.1 e Windows 10: il processo corrente è compatibile con dpi per monitor.
Contiene qualsiasi altra stringa Windows Vista, Windows 7 e Windows 8: il comportamento è uguale a quando il dpiAware è assente.
Windows 8.1 e Windows 10: il processo corrente non è a conoscenza e non è possibile modificare a livello di programmazione questa impostazione chiamando la funzione SetProcessDpiAwareness o SetProcessDPIAware.

Per altre informazioni sulle impostazioni di consapevolezza dpi, vedere Confronto dei livelli di consapevolezza DPI.

dpiAware non ha attributi.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
      <dpiAware>true</dpiAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

dpiAwareness

Specifica se il processo corrente è consapevole di punti per pollice (dpi).

La versione minima del sistema operativo che supporta l'elemento dpiAwareness è Windows 10, versione 1607. Per le versioni che supportano l'elemento dpiAwareness, dpiAwareness sostituisce l'elemento dpiAware. È possibile includere entrambi gli elementi in un manifesto se si vuole specificare un comportamento diverso per Windows 10, versione 1607 rispetto a una versione precedente del sistema operativo.

L'elemento dpiAwareness può contenere un singolo elemento o un elenco di elementi separati da virgole. In quest'ultimo caso viene usato il primo elemento (più a sinistra) nell'elenco riconosciuto dal sistema operativo. In questo modo, è possibile specificare comportamenti diversi supportati nelle versioni future del sistema operativo Windows.

Nella tabella seguente viene descritto il comportamento risultante in base alla presenza dell'elemento dpiAwareness e al testo che contiene nell'elemento più riconosciuto a sinistra. Il testo all'interno dell'elemento non è distinzione tra maiuscole e minuscole.

stato dell'elemento dpiAwareness: Descrizione
Elemento assente L'elemento dpiAware specifica se il processo è a conoscenza di dpi.
Contiene elementi non riconosciuti Il processo corrente non è a conoscenza per impostazione predefinita. È possibile modificare questa impostazione a livello di codice chiamando la funzione SetProcessDpiAwareness o SetProcessDPIAware.
Il primo elemento riconosciuto è "system" Il processo corrente è compatibile con dpi di sistema.
Il primo elemento riconosciuto è "permonitor" Il processo corrente è a conoscenza di dpi per monitor.
Il primo elemento riconosciuto è "permonitorv2" Il processo corrente usa il contesto di consapevolezza dpi per monitoraggio-v2. Questo elemento verrà riconosciuto solo in Windows 10 versione 1703 o successiva.
Il primo elemento riconosciuto è "inconsapevoli" Il processo corrente è dpi inconsapevoli. Non èpossibile modificare questa impostazione a livello di codice chiamando la funzione SetProcessDpiAwareness o SetProcessDPIAware.

Per altre informazioni sulle impostazioni di consapevolezza dpi supportate da questo elemento, vedere DPI_AWARENESS e DPI_AWARENESS_CONTEXT.

dpiAwareness non ha attributi.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <dpiAwareness>PerMonitorV2, unaware</dpiAwareness>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

gdiScaling

Specifica se il ridimensionamento GDI è abilitato. La versione minima del sistema operativo che supporta l'elemento gdiScaling è Windows 10 versione 1703.

Il framework GDI (interfaccia del dispositivo grafico) può applicare il ridimensionamento DPI alle primitive e al testo su base per monitor senza aggiornamenti all'applicazione stessa. Ciò può essere utile per le applicazioni GDI non più aggiornate attivamente.

La grafica non vettoriale (ad esempio bitmap, icone o barre degli strumenti) non può essere ridimensionata da questo elemento. Inoltre, la grafica e il testo visualizzati all'interno delle bitmap costruiti dinamicamente dalle applicazioni non possono essere ridimensionati da questo elemento.

TRUE indica che questo elemento è abilitato. Non ha attributi.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2017/WindowsSettings">
      <gdiScaling>true</gdiScaling>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

highResolutionScrollingAware

Specifica se è abilitato lo scorrimento a risoluzione elevata. TRUE indica che è abilitato. Non ha attributi.

longPathAware

Abilita percorsi lunghi che superano MAX_PATH di lunghezza. Questo elemento è supportato in Windows 10, versione 1607 e versioni successive. Per altre informazioni, vedi questo articolo.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns:ws2="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
      <ws2:longPathAware>true</ws2:longPathAware>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

printerDriverIsolation

Specifica se l'isolamento del driver della stampante è abilitato. TRUE indica che è abilitato. Non ha attributi. L'isolamento del driver della stampante migliora l'affidabilità del servizio di stampa Windows consentendo ai driver della stampante di eseguire in processi separati dal processo in cui viene eseguito lo spooler di stampa. Supporto per l'isolamento dei driver della stampante avviato in Windows 7 e Windows Server 2008 R2. Un'app può dichiarare l'isolamento del driver della stampante nel manifesto dell'app per isolarsi dal driver della stampante e migliorare l'affidabilità. Ovvero, l'app non si arresterà in modo anomalo se il driver della stampante ha un errore.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2011/WindowsSettings">
      <printerDriverIsolation>true</printerDriverIsolation>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

ultraHighResolutionScrollingAware

Specifica se è abilitato lo scorrimento a risoluzione ultra alta. TRUE indica che è abilitato. Non ha attributi.

msix

Specifica le informazioni sull'identità di un pacchetto con percorso esterno per l'applicazione corrente(vedere Concedere l'identità del pacchetto tramite creazione di pacchetti con percorso esterno). Questo elemento è supportato in Windows 10, versione 2004 e versioni successive.

L'elemento msix deve trovarsi nello spazio dei nomi urn:schemas-microsoft-com:msix.v1. Ha gli attributi visualizzati nella tabella seguente.

Attributo Descrizione
Editore Descrive le informazioni sul server di pubblicazione. Questo valore deve corrispondere all'attributo Publisher nell'elemento Identity nel manifesto del pacchetto dell'app in pacchetto con percorso esterno.
Nomepacchetto Descrive il contenuto del pacchetto. Questo valore deve corrispondere all'attributo Name nell'elemento Identity nel manifesto del pacchetto dell'app in pacchetto con percorso esterno.
applicationId Identificatore univoco dell'applicazione. Questo valore deve corrispondere all'attributo ID nell'elemento Application nel manifesto del pacchetto dell'app in pacchetto con percorso esterno.
<?xml version="1.0" encoding="utf-8"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
  <assemblyIdentity version="1.0.0.0" name="Contoso.PhotoStoreApp"/>
  <msix xmlns="urn:schemas-microsoft-com:msix.v1"
          publisher="CN=Contoso"
          packageName="ContosoPhotoStore"
          applicationId="ContosoPhotoStore"
        />
</assembly>

heapType

Esegue l'override dell'implementazione dell'heap predefinita per le API heap Win32 da usare.

  • Il valore SegmentHeap indica che verrà usato l'heap del segmento. L'heap segmento è un'implementazione moderna dell'heap che riduce in genere l'utilizzo complessivo della memoria. Questo elemento è supportato in Windows 10 versione 2004 (build 19041) e versioni successive.
  • Tutti gli altri valori vengono ignorati.

Questo elemento non ha attributi.

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 ...
  <asmv3:application>
    <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2020/WindowsSettings">
      <heapType>SegmentHeap</heapType>
    </asmv3:windowsSettings>
  </asmv3:application>
 ...
</assembly>

Esempio

Di seguito è riportato un esempio di manifesto dell'applicazione per un'applicazione denominata MySampleApp.exe. L'applicazione usa l'assembly side-by-side SampleAssembly.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
      <application> 
        <!--This Id value indicates the application supports Windows Vista functionality -->
          <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/> 
        <!--This Id value indicates the application supports Windows 7 functionality-->
          <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
        <!--This Id value indicates the application supports Windows 8 functionality-->
          <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
        <!--This Id value indicates the application supports Windows 8.1 functionality-->
          <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
      </application> 
  </compatibility>

  <assemblyIdentity type="win32" 
                    name="myOrganization.myDivision.mySampleApp" 
                    version="6.0.0.0" 
                    processorArchitecture="x86" 
                    publicKeyToken="0000000000000000"
  />
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" 
                        name="Proseware.Research.SampleAssembly" 
                        version="6.0.0.0" 
                        processorArchitecture="X86" 
                        publicKeyToken="0000000000000000" 
                        language="*"
      />
    </dependentAssembly>
  </dependency>
</assembly>