Assemblies toevoegen aan een pakket
Windows Installer-ontwikkelaars kunnen de richtlijnen in dit onderwerp gebruiken om Windows Installer-pakketten te ontwerpen die assembly's bevatten.
De volgende richtlijnen zijn van toepassing op Win32-assembly's en assembly's die door de algemene taalruntime van Microsoft .NET Framework worden gebruikt.
- Een Windows Installer-onderdeel mag niet meer dan één assembly bevatten.
- Alle bestanden in de assembly moeten zich in één onderdeel bevinden.
- Elk onderdeel dat een assembly bevat, moet een vermelding hebben in de tabel MsiAssembly.
- De sterke naam van de assembly-cache van elke assembly moet worden vastgelegd in de tabel MsiAssemblyName.
- Gebruik de tabel Registry in plaats van de tabel Class wanneer u COM Interop registreert voor een assembly.
- Assemblies met dezelfde sterke naam zijn dezelfde assembly. Wanneer dezelfde assembly wordt geïnstalleerd door verschillende toepassingen, moeten de onderdelen die de assembly bevatten dezelfde waarde gebruiken voor de ComponentId in hun Component tabellen.
Notitie
Productadvertenties identificeren assembly's die door verschillende toepassingen kunnen worden geïnstalleerd en gebruikt. Productadvertenties identificeren geen privéassemblages.
Win32-assemblies toevoegen
Gebruik de volgende richtlijnen wanneer u Win32-assembly's opneemt:
- De KeyPath-waarde in de tabel Component voor een onderdeel dat een Win32-assembly bevat, mag niet null zijn.
- De KeyPath-waarde in de tabel Component voor een onderdeel dat een Win32-beleidsassembly bevat, moet het manifestbestand zijn.
- De KeyPath-waarde in de Component tabel voor een onderdeel dat een Win32-assembly bevat, dat geen beleidsassembly is, mag niet het manifestbestand of catalogusbestand zijn. In de assembly moet het een ander bestand zijn.
- Voeg een rij toe aan de tabel MsiAssemblyName voor elk naam- en waardepaar dat wordt vermeld in de sectie assemblyIdentity van het manifest van de Win32-assembly.
Assembly's toevoegen die worden gebruikt met .NET Framework
Gebruik de volgende richtlijnen wanneer u assembly's opneemt die door de algemene taalruntime van .NET Framework worden gebruikt.
- De KeyPath-waarde in de component tabel voor een onderdeel dat de assembly bevat, mag niet null zijn.
- Wanneer u een assembly installeert die wordt gebruikt door de algemene taalruntime voor de algemene assemblycache, moet de waarde in de kolom File_Application van de MsiAssembly-tabel Null zijn.
- Voeg een rij toe aan de tabel MsiAssemblyName voor elk kenmerk van de sterke naam van de assembly. Alle assembly's moeten de kenmerken Name, Version en Culture hebben die zijn opgegeven in de tabel MsiAssemblyName. Een publicKeyToken-kenmerk is vereist voor een globale assembly. De volgende tabel is een voorbeeld van de MsiAssemblyName-tabel voor een globale assembly voor gebruik door de Common Language Runtime.
Bestanddeel | Naam | Waarde |
---|---|---|
ComponentA | Naam | eenvoudig |
ComponentA | Versie | 1.0.0.0 |
ComponentA | Cultuur | neutraal |
ComponentA | publicKeyToken | 9d1ec8380f483f5a |