Freigeben über


Ausführen von Intranetanwendungen mit voller Vertrauenswürdigkeit

Ab .NET Framework 3.5 Service Pack 1 (SP1) können Anwendungen und ihre Bibliotheksassemblys als vollständig vertrauenswürdige Assemblys von einer Netzwerkfreigabe ausgeführt werden. Der MyComputer-Zonenbeweis wird automatisch Assemblys hinzugefügt, die von einer Freigabe im Intranet geladen werden. Dieser Beweis gibt solchen Assemblys denselben Berechtigungssatz (üblicherweise vollständig vertrauenswürdig) wie den Assemblys, die sich auf dem Computer befinden. Diese Funktionalität gilt nicht für ClickOnce-Anwendungen oder für Anwendungen, die darauf ausgerichtet sind, auf einem Host ausgeführt zu werden.

Regeln für Bibliotheksassemblys

Die folgenden Regeln gelten für Assemblys, die von einer ausführbaren Datei in einer Netzwerkfreigabe geladen werden:

  • Bibliotheksassemblys müssen sich im gleichen Ordner wie die ausführbare Assembly befinden. Assemblys, die sich in einem Unterordner befinden oder auf die von einem anderen Pfad verwiesen wird, erhalten nicht den voll vertrauenswürdigen Berechtigungssatz.

  • Wenn die ausführbare Datei eine Assembly verzögert lädt, muss sie denselben Pfad verwenden, mit dem auch die ausführbare Datei gestartet wurde. Wenn z. B. die Netzwerkfreigabe \\Netzwerkcomputer\Freigabe einem Laufwerkbuchstaben zugeordnet ist, und die ausführbare Datei von diesem Pfad ausgeführt wird, wird Assemblys, die von dieser ausführbaren Datei unter Verwendung des Netzwerkpfads geladen werden, nicht die volle Vertrauenswürdigkeit gewährt. Um eine Assembly in der MyComputer-Zone verzögert zu laden, muss die ausführbare Datei den Pfad mit dem Laufwerkbuchstaben verwenden.

Wiederherstellen der früheren Intranetrichtlinie

In früheren Versionen von .NET Framework wurde freigegebenen Assemblys der Intranet-Zonenbeweis gewährt. Sie mussten Sicherheitsrichtlinien für den Codezugriff festlegen, um einer Assembly auf einer Freigabe volle Vertrauenswürdigkeit zu gewähren.

Dieses neue Verhalten ist das Standardverhalten für Intranetassemblys. Sie können zum früheren Verhalten der Bereitstellung des Intranet-Beweises zurückkehren, indem Sie einen Registrierungsschlüssel festlegen, der für alle Anwendungen auf dem Computer gilt. Dieser Prozess ist für 32-Bit- und 64-Bit-Computer unterschiedlich:

  • Erstellen Sie auf 32-Bit-Computern in der Systemregistrierung einen Unterschlüssel unter dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. Verwenden Sie den Schlüsselnamen "LegacyMyComputerZone" mit dem DWORD-Wert 1.

  • Erstellen Sie auf 64-Bit-Computern in der Systemregistrierung einen Unterschlüssel unter dem Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework. Verwenden Sie den Schlüsselnamen "LegacyMyComputerZone" mit dem DWORD-Wert 1. Erstellen Sie den gleichen Unterschlüssel unter dem Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework".

Siehe auch

Weitere Ressourcen

Programmieren mit Assemblys