Frage

Ich habe eine benutzerdefinierte Aktion, dass ich einige Dateien bereitstellen bin mit, die in dem Handoff-Paket an den msi nächsten sitzen. Meine benutzerdefinierte Aktion wird die msi Pfad über den OriginalDatabase Parameter übergeben, und ich bin zu überprüfen, ob es einen Ordner daneben ist. Nichts zu verrückt, aber war in dem Hintern ein Schmerz zu verstehen.

Installieren einzelne oder mehrere Benutzer Dateien kopiert arbeitet lokal wie ein Champion. Single-User Installieren, wenn die setup.exe von einer Netzwerkfreigabe ausgeführt funktioniert jedoch gut, wenn ich alle Benutzer von einer Netzwerkfreigabe installieren Ich bin eine Sicherheitsausnahme zu bekommen.

Die Linie in Frage lautet:

DirectoryInfo[] subdirectories = workingDirectoryInfo.GetDirectories("Foo");

Die benutzerdefinierte Aktion läuft mit SecurityAction.Demand also sollte ich alle die Notwendigkeit, den Zugang ich habe.

Jede Eingabe jemand schaffen kann, wird sehr geschätzt.

Danke, Casey

War es hilfreich?

Lösung

Ich glaube, wenn Sie installieren pro Benutzer der Server-Seite nicht um die Transaktion zu tun braucht zu erhöhen, damit es die interaktiven Benutzer nimmt die Identität und die Dateien zugreifen kann. Wenn Sie für alle Anwender installieren hat es jetzt erheben sie als System im Grunde läuft, die das Computerkonto für den Zugriff, die Dateien verwenden würden und Boom Sie einen Berechtigungsfehler erhalten.

fragen, warum ich diese Dateien nicht in Ihrem Installateur? Gibt es nicht irgendeine Art und Weise Sie sie enthalten können, so dass Sie nicht über die benutzerdefinierte Aktion haben müssen? Ansonsten könnten Sie eine benutzerdefinierte Aktion schreiben müssen, die die OriginalDatabase erkennt befindet sich auf einem Netzwerkfreigabe und zu verhindern, die installiert werden, wenn der Benutzer kopiert alle Dateien herunter, bevor ausgeführt wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top