AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi CSDIL_PROGRAM_FILES in 32Bit/64Bit
Thema durchsuchen
Ansicht
Themen-Optionen

CSDIL_PROGRAM_FILES in 32Bit/64Bit

Ein Thema von QuickAndDirty · begonnen am 7. Sep 2012 · letzter Beitrag vom 22. Sep 2012
Antwort Antwort
Seite 3 von 3     123   
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#21

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 16. Sep 2012, 21:33
Nur mal dem ganzen Verzeichnisstringvergleichen einhalt zu gebieten...

Dein Programm hat also Probleme, wenn es in einem Verzeichnis installiert ist, wo es keine Schreibrechte besitzt, weil es immernoch in seinem eigenem Programmverzeichnis rumschreibt?
Das ist nicht GANZ das Problem.
Das Problem ist eigentlich das es eine Freigabe benötigt.
Mit schreib und lese Rechten für Daten (Ich glaube das geht für die Spezialverzeichnisse nicht).
Selbst wenn das ginge ist die andere Sache das sich die Clients selbstständig über die Serverfreigabe updaten können. Das Update wird im Bedardsfall beim Start des Clients ausgelöst und das Programmverzeichnis dann kopiert.

Dann wäre es besser, wenn du prüfst, ob es Schreibrechte besitzt und nicht einfach nur wahllos mit irgendwelchen Verzeichnisnamen vergleichst.
Ich versuche bei der Installation Fehler die unserem Support Aufwand erzeugen zu verhindern. Das ist Sinn und Zweck dieser Maßnahmen. Natürlich kann ich nicht jeden scheiß vorhersehen. Aber so das typische auswählen den Progamme Verzeichnis kann ich verhindern.
Desweiteren verhindere ich das Auswählen von Netzwerkpfaden oder Netzlaufwerken als Installationsort, da wir einen FB-Server mit ausliefern und der mag das auch nicht.
Und natürlich prüfe ich nicht nach Schreibrechten, da das Setup nur mit Administrator rechten ausgeführt werden kann, setze ich direkt Vollzugriffs-Rechte für "Jeder" und gebe den Ordner frei.

Oder du machst es wie alle Programme und prüfst garnichst, sondern vertraust darauf, daß der Benutzer es ordentlich installiert. (und erwähnst es wenigstens spätestens im Setup)
Wir erwähnen so ziemlich alles im Setup...leider scheitern wir dennoch daran das der Admin oder "User dem das Admin Passwort bekannt ist" die Informationen die wir Vermitteln möchten auch aufnimmt.
Aber ich arbeite an einem Comic um das vermitteln der Handlungsanweisungen im Setup interessanter zu gestallten.
Zur Zeit scheint der Einzige nutzen von Erklärendem Text und Handlungsanweisungen im Setup darin zu bestehen, dafür zu sorgen das man einem Kunden der sich aufregt RTFM sagen kann...natürlich höflich verklausuliert. Das bleibt dann natürlich trotzdem beim Support hängen und der belästigt mich damit...

Oder du reparierst dein Programm, so daß es endlich ordnungsgemäß arbeitet. (was man eigentlisch schon seit mindestens Win200 hätte machen sollen)
Wir sind dabei, aber ich brauchte eine schnelle Lösung.

Tipp:
- Es gibt noch mehr Verzeichnisse, wo man nicht schreiben darf.
übelst...zum Glück gab es noch keine Installationen im System32 Ordner...und so einen kram.

- Der Benutzer kann die Rechte ändern, wie er lustig ist.
Da ich die Rechte beim Installationsverlauf selbst setzte, hat das Setup alles erfüllt was es soll. Der Rückbau von Rechten liegt in der Verantwortung des Administrators.
- Ist dir bekannt, daß man das selbe Verteichnis unterschiedlich ansprechen kann? (lange Namen, kurze 8.3-Name, UNC-Pfade, Hardlinks, Softlinks, Verzeichnis/Partition mehrfach gemountet, ...)
Ja das ist mir bekannt. Seltene Exoten landen im Support.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#22

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 16. Sep 2012, 22:33
Mit schreib und lese Rechten für Daten (Ich glaube das geht für die Spezialverzeichnisse nicht).
Zumindestens XP kann das noch.

Selbst wenn das ginge ist die andere Sache das sich die Clients selbstständig über die Serverfreigabe updaten können. Das Update wird im Bedardsfall beim Start des Clients ausgelöst und das Programmverzeichnis dann kopiert.
Da frage ich mich, wofür ist das gut, es klingt als ob alle 3 Tage ein Update notwendig wäre

Und natürlich prüfe ich nicht nach Schreibrechten, da das Setup nur mit Administrator rechten ausgeführt werden kann, setze ich direkt Vollzugriffs-Rechte für "Jeder" und gebe den Ordner frei.
Vollzugriff für "Jeder"? Damit macht man sich Freunde.
Aber wo ist dann das Problem?

Wir erwähnen so ziemlich alles im Setup...leider scheitern wir dennoch daran das der Admin oder "User dem das Admin Passwort bekannt ist" die Informationen die wir Vermitteln möchten auch aufnimmt.
Aber ich arbeite an einem Comic um das vermitteln der Handlungsanweisungen im Setup interessanter zu gestallten.
Zur Zeit scheint der Einzige nutzen von Erklärendem Text und Handlungsanweisungen im Setup darin zu bestehen, dafür zu sorgen das man einem Kunden der sich aufregt RTFM sagen kann...natürlich höflich verklausuliert. Das bleibt dann natürlich trotzdem beim Support hängen und der belästigt mich damit...
Ich agiere manchmal auch als Admin, rate mal wie ich auf ein Comic als Installationsanweisung reagieren werde.

Und "so ziemlich alles" ist nicht alles.
Ich bevorzuge RTFM aber wenn das Handbuch/Installationsanweisung nicht vollständig ist...

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#23

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 18. Sep 2012, 11:29
Zumindestens XP kann das noch.
Cool. Haben die ab Vista damit angefangen?

Da frage ich mich, wofür ist das gut, es klingt als ob alle 3 Tage ein Update notwendig wäre
Es sorgt dafür das ein Update nur einmal auf dem Server eingespielt werden muss, die clients versorgen sich dann selbstständig mit Updates. Das spart Zeit und Kosten, vor allem in Unternehmen die von externen IT-lern abhängig sind. Und es macht das verkaufen eines Updates profitabler, denn es gibt kaum jemand der für das "einspielen" eines Updates bezahlt. In der Regel ist das verschenkter Support.
Aber wir müssen das Problem auf lange sicht sowieso lösen. Und von der dämlichen Freigabe wegkommen. Nur im Moment hängt da ne Menge dran und das sind viele große Aufgaben, nach deren Erledigung wir ein Produkt mit keinem einzigen Feature mehr oder Fehler weniger hätten.

Vollzugriff für "Jeder"? Damit macht man sich Freunde.
Es kommt drauf an.
-Kleine Firmen ohne IT-Fachkraft ziehen daraus nur Vorteile, weil sie oft nicht wissen wie man eine Freigaben macht.
-Firmen mit Internen Adminsitrator sind meist größer und der hat dann Arbeit damit das "Jeder" passgenau anzupassen. Allerdings hat die Software dann funktioniert bevor er an den Rechten gebastelt hat und so erkennt er meist selbstständig das das was nicht geht in seinem Verantwortungsbereich passiert ist und bringt es in Ordnung.
-Firmen mit Externen Administrator sind meist von mittlerer Größe und auch dem machen wir damit die Arbeit das im Nachhinein passgenau zu ändern. Leider gibt es so Amateur externe die nach dem Fire und forget Prinzip arbeiten und natürlich nur Vorort. Wenn dann nach einer Aktion die Rechte weg sind, bekommen in der Regel wir den Anruf.

Aber wo ist dann das Problem?
Das einzige Problem war das ich unter W64Bit die Installation in das Programme verzeichnis nicht verhindern kann.

Ich agiere manchmal auch als Admin, rate mal wie ich auf ein Comic als Installationsanweisung reagieren werde.
Du würdest dich getrieben von der Identifizierung mit dem Hauptcharackter durch die gesammte Anleitung lesen. Und das ansprechen der visiospatialen, den episodischen als auch phonologisch-lingualen Hirnfunktionen würde zu einer leichteren Aufnahme der Information führen. Du würdest dich über diese an die Fähigkeiten des Gehirns angepassten Vermitlungsweise freuen und dich fragen warum nicht das gesammte Programm noch eine Gamifizierung erfahren hat. Wenn du am Ende der Anleitung angekommen wärst, würdest du in Heureka-Rufe ausbrechen und tanzend über den Büroflur wirbeln.

Korrekt antizipiert?

Und "so ziemlich alles" ist nicht alles.
Ja wir fangen zum Teil bei Adam und Eva an. Die Installationsanleitung richtet sich durchaus an User.
Ich bevorzuge RTFM
Meist helfen wir den Usern einfach.
Wir mögen es nur nicht wenn leute persönlich werden. Zum Glück sind die meisten Menschen in der Lage ihre Fragen auf zivilisierte Weise vorzubringen.

aber wenn das Handbuch/Installationsanweisung nicht vollständig ist...
Ich denke nicht das unser Handbuch wirklich vollständig ist. Zumindest würde ich sowas niemals behaupten. Ich kenne allerdings kaum Handbücher die wirklich alle meine Fragen beantworten. Ehrlich gesagt halte ich es sogar für sehr wahrscheinlich das Vollständige Handbücher für Software nicht existieren(Trivialsoftware mal ausgenommen).
Was in der Anleitung wirklich fehlt sind Beispiel Szenarios. So nach Kochbuchmanier.
Noch besser als ein Handbuch wäre eigentlich ein Buch in Form eines Kurses. Haben wir aber nicht.
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (18. Sep 2012 um 11:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#24

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 18. Sep 2012, 11:58
Zumindestens XP kann das noch.
Cool. Haben die ab Vista damit angefangen?
keine Ahnung, am Arbeistplatz hab ich noch XP.
Nein warte, ich hab da noch ein 32BitW7, muß mal schauen. Kann aber bis morgen dauern.

Ich agiere manchmal auch als Admin, rate mal wie ich auf ein Comic als Installationsanweisung reagieren werde.
Du würdest dich getrieben von der Identifizierung mit dem Hauptcharackter durch die gesammte Anleitung lesen. Und das ansprechen der visiospatialen, den episodischen als auch phonologisch-lingualen Hirnfunktionen würde zu einer leichteren Aufnahme der Information führen. Du würdest dich über diese an die Fähigkeiten des Gehirns angepassten Vermitlungsweise freuen und dich fragen warum nicht das gesammte Programm noch eine Gamifizierung erfahren hat. Wenn du am Ende der Anleitung angekommen wärst, würdest du in Heureka-Rufe ausbrechen und tanzend über den Büroflur wirbeln.

Korrekt antizipiert?
OK, wir verstehen uns!

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#25

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 18. Sep 2012, 17:29
Habe nicht alles durchgelesen, aber vielleicht hilft dir bei deiner Überprüfung im Hauptprogramm die MSDN-Library durchsuchenWow64DisableWow64FsRedirection API. Damit kannst du die WOW64 Redirection temporär für dein Programm deaktivieren.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
musicman56
(Gast)

n/a Beiträge
 
#26

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 18. Sep 2012, 19:01
@QuickAndDirty

Vieles von dem was du schreibst kommt mir bekannt vor. Ein Grundproblem deiner Vorgehensweise beim Updaten von Clients über's Netzwerk liegt darin, dass die Clients Zugriffsrechte auf den Server brauchen. Ich hab das Problem vor etwa 10 Jahren schon gelöst, indem ich auf dem Server nach der Installation und nach jedem Internet-Update (das vom Server aus via FTP von meinem WEB-Server heruntergeladen wird) ALLE Programmdateien in eine Datenbank (in ein Blob-Feld) einlese, natürlich zusammen mit Datum und Größe in separaten Feldern. Der Client vergleicht dann einfach seine lokal vorhandenen Dateien mit denen in der Datenbank, und wenn eine älter ist, wird mit TBlobField.SaveToFile einfach die Datei aktualisiert. Mit jeder Haupversion ändere ich dann ein Datenfeld in der Datenbank-Struktur und damit verhindere ich dann sogar noch, dass sich Clients mit inkompatibler (älterer) Version im Netzwerk anmelden.

Einziger Nachteil: Ca. 150MB Speicherplatz für die Datenbank, aber ist das wirklich ein Nachteil?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#27

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 18. Sep 2012, 22:41
Es sieht so aus, als dürften unter W7(Enterprise) auch Administratoren nicht an der Berechtigung von
C:\Programme drehen, das könnte allerdings auch an den Richtlinien liegen.

Da fehlen mir allerdings die notwendigen Infos.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#28

AW: CSDIL_PROGRAM_FILES in 32Bit/64Bit

  Alt 22. Sep 2012, 12:09
@QuickAndDirty

Vieles von dem was du schreibst kommt mir bekannt vor. Ein Grundproblem deiner Vorgehensweise beim Updaten von Clients über's Netzwerk liegt darin, dass die Clients Zugriffsrechte auf den Server brauchen. Ich hab das Problem vor etwa 10 Jahren schon gelöst, indem ich auf dem Server nach der Installation und nach jedem Internet-Update (das vom Server aus via FTP von meinem WEB-Server heruntergeladen wird) ALLE Programmdateien in eine Datenbank (in ein Blob-Feld) einlese, natürlich zusammen mit Datum und Größe in separaten Feldern. Der Client vergleicht dann einfach seine lokal vorhandenen Dateien mit denen in der Datenbank, und wenn eine älter ist, wird mit TBlobField.SaveToFile einfach die Datei aktualisiert. Mit jeder Haupversion ändere ich dann ein Datenfeld in der Datenbank-Struktur und damit verhindere ich dann sogar noch, dass sich Clients mit inkompatibler (älterer) Version im Netzwerk anmelden.

Einziger Nachteil: Ca. 150MB Speicherplatz für die Datenbank, aber ist das wirklich ein Nachteil?
Wir machen das bereits so mit Ausnahme des DB teils.
Garantiert wird es niemals passieren das wir alle Unsere Update relevanten dateien in die DB laden.
Aber einen Update Server wird es geben. Nur eben nicht jetzt.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:32 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz