Hallo, für ein installiertes Programm (Windows 7) möchte ich Plugins als *.dll bereitstellen. Diese müssen sich im entsprechenden Ordner befinden unter C:\Programme. Aber das Makefile (mingw32-make) kann das nicht reinkopieren. Per Hand im File-Explorer lässt sich das zwar reinkopieren, aber es kommt ein Dialog-Box, dass man dafür Administrator-Rechte braucht und diese muss man bejahen. Dann kopiert Windows die dll in das Verzeichnis. Aber ich würde es so haben wollen, dass es im Make-Lauf schon reinkopiert wird. Vorschläge?
Natürlich Installationen als Administrator durchführen. Gruss Reinhard
einfach die Rechte für das Verzeichniss anpassen und gut ist.
Ab Vista wird "Dateien im Programme-Ordner anfassen" von Windows als sicherheitsrelevant angesehen. Wird etwas als Administrator ausgeführt, darf das machen was sonst nur ein Administrator darf. (Rechtsklick "Ausführen als Administrator") Also auch Dateien in relevante Ordner schreiben. Installationsprogramme dürfen aber auch weiterhin in den Programme-Ordner installieren. Vom Programm änderbare Dateien möchte Windows dann bevorzugt im Anwendungsdaten/.../Programm- oder Benutzer-Ordner abgelegt haben also die ganzen *.ini, *.cfg etc. Ansonsten fängt Windows dann auch gern an, Schattenkopien anzulegen.
> Natürlich Installationen als Administrator durchführen Sowohl MinGw als das Programm mit Plugin musste ich natürlich mit Admin-Rechten installieren. Ohne kann man nur in sein users- Verzeichnis oder users\public installieren. > einfach die Rechte für das Verzeichniss anpassen und gut ist. Das geht beim c:\programs Verzeichnis? Ok, werde ich ausprobieren. Danke
lovos schrieb: >> einfach die Rechte für das Verzeichniss anpassen und gut ist. > Das geht beim c:\programs Verzeichnis? Ok, werde ich ausprobieren. Danke klar geht das. Ich würde aber nur das konkrete Verzeichniss anpassen und nicht die gesamte festplatte.
Rufus Τ. Firefly schrieb: > Peter II schrieb: >> einfach die Rechte für das Verzeichniss anpassen und gut ist. > > Keine gute Idee. und warum nicht? Er will ja da rein schreiben warum sollte er sich auf seinen eingenem PC an irgendwelche Richtlinien halten? Er soll es ja nicht auf 1000 Kundenrechner machen.
Peter II schrieb: > warum sollte er sich auf seinen eingenem PC an irgendwelche Richtlinien > halten? Nun, so hebelt er einen Teil der Sicherheitsarchitektur seines Rechners aus, und so kann jedes beliebige Programm, das er aufruft, auch auf dieses Verzeichnis zugreifen, und dort ... interessante Dinge veranstalten. Nicht alles, was sich Microsoft einfallen lässt, ist eine schlechte Idee. Es sollte möglich sein, ein Batchfile so zu schreiben, daß darin die erforderliche "Elevation" stattfindet, damit die Datei kopiert werden kann. Ja, das erfordert dann zusätzliche Mausklicks oder gar Passworteingaben, aber das sollte einem das bisschen Sicherheit, was MS hier vorgesehen hat, schon wert sein. Hier wird das erforderliche Verfahren beschrieben: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
Rufus Τ. Firefly schrieb: > Nicht alles, was sich Microsoft einfallen lässt, ist eine schlechte > Idee. sagt ja auch keiner, ich hätte auch schreiben können die UAC abschalten. Dies ist auch grundsätzlich vorgesehen und hebelt die Sicherheit komplett aus. Es ist einfach nicht praktikabel wenn man alles 2min eine neue DLL baut, jedes mal ein dialog wegzuklicken. Irgedwann ist das dann so im Hirn drin das man ihn nur noch ignoriert. Er könnte auch einfach eine link zum dem Plugin verzeichniss legen, damit sollte das auch gehen.
Peter II schrieb: > Er könnte auch einfach eine link zum dem Plugin verzeichniss legen, > damit sollte das auch gehen. Nö, wenn das die Zugriffsberechtigungen für das Verzeichnis umgehen würde, wäre das ein wahrlich beeindruckendes Sicherheitsloch. Andersherum wäre es vermutlich einfacher, wenn die das Plugin-Zeug nutzende Software nicht unterhalb von "\Programme", sondern an anderem Ort installiert würde. Fragt sich nur, ob das auch das Plugin-Verzeichnis betrifft. Man könnte auch in der Registry nachsehen, ob das Plugin-Verzeichnis möglicherweise darin konfigurierbar ist, und das dann aus \Programme herauskopieren. Noch eine Möglichkeit bestünde aus einem Skript, das per Scheduler aufgerufen wird und im Benutzerkonto "System" läuft - das kopiert die DLL von einem anderen Ort ans eigentliche Ziel.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.