Forum: PC-Programmierung Vom Makefile aus eine dll im C:\Program\progr\ erzeugen


von lovos (Gast)


Lesenswert?

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?

von Reinhard Kern (Gast)


Lesenswert?

Natürlich Installationen als Administrator durchführen.

Gruss Reinhard

von Peter II (Gast)


Lesenswert?

einfach die Rechte für das Verzeichniss anpassen und gut ist.

von Dave B. (gaston)


Lesenswert?

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.

von lovos (Gast)


Lesenswert?

> 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

von Peter II (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter II schrieb:
> einfach die Rechte für das Verzeichniss anpassen und gut ist.

Keine gute Idee.

von Peter II (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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

von Peter II (Gast)


Lesenswert?

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.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.