Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Setup Problem (https://www.delphipraxis.net/160744-setup-problem.html)

Paulh 29. Mai 2011 17:11

Setup Problem
 
Hallo DP

Wenn ich meinen Setup auf einen Windows 7 Computer ausführe, der Setup erstellt einen Ordner unter C:\Programme\XXXX oder C:\Program files\XXXX und stellt eine FTP-verbinndung mit meinen Server her und kopiert ein Programm in den Ordner XXXX, kommt folgender Fehler:

Datei "C:\Program Files\XXXX\XXXX.exe" kann nicht erstellt werden.
Zugriff verweigert.

Bei xp geht das alles Problemlos.

Könnt ihr mir Helfen ?

Danke im Voraus!


Gruß Paulh

jaenicke 29. Mai 2011 17:19

AW: Setup Problem
 
Heißt denn die Setup-Exe auch so in der Art Setup oder Install? Und kommt die UAC, das heißt werden Adminrechte beim Start des Setups angefordert?

Windows fordert die automatisch an, wenn es am Namen der Exe erkennt, dass es ein Setup ist. Ein echtes Setup macht das aber normalerweise auch explizit via Manifest. Womit ist das denn erstellt? Was normales wie InnoSetup oder was selbst gebasteltes?

Also: Mehr Infos bitte. :mrgreen:

himitsu 29. Mai 2011 17:19

AW: Setup Problem
 
Leuft dasprogramm mit adminrechten? (hat es z.B. ein Admin-Manifest drin)

PS: Unter XP hatten Programme auch schon keine Schreibrechte auf das Programmeverzeichnis ... merkte nur keiner, weil fast alle standardmäßig mit vollen Adminrechten arbeiteten. (die Viren freute es auch, weil sie sich besser verteilen konnten)

Paulh 29. Mai 2011 18:29

Setup Problem
 
Das Programm ist selbst gebaut und heißt Chat_Worldwide_Installer.exe, und läuft natürlich nicht unter Adminrechten :(

Muss ich das umbennenen ?

Gruß Paulh

himitsu 29. Mai 2011 18:36

AW: Setup Problem
 
Umbenenen würde ich nicht,
denn dieses Verhalten ist nur zur Abwärtskompatibilität für alte/schrottige Installer.

Verpaß deinem Programm ein entsprechendes Admin-Manifest und schon sollte es gehn.
Denn ohne die nötigen Rechte darf da eben keiner mehr drin rumschreiben, was auch richtig so ist.

Paulh 29. Mai 2011 18:38

AW: Setup Problem
 
Ich weiß das klingt jetzt doof, aber was ist ein Admin-Manifest ?


Gruß Paulh

jaenicke 29. Mai 2011 18:54

AW: Setup Problem
 
Pssst: Ein Geheimnis: Es gibt da z.B. eine Seite namens Google, die weiß das:
Bei Google suchenAdmin-Manifest

Kurz gesagt:
Es handelt sich dabei um Daten im XML-Format, die für Windows bestimmte Informationen bereitstellen. In diesem Fall, dass das Programm Adminrechte braucht.

Aber wie gesagt:
Normale Setupbuilder wie eben InnoSetup kümmern sich darum eigentlich selbst.

Nebenbei:
Wenn du via FTP zugreifst, heißt das, dass die Zugangsdaten ruhig veröffentlicht werden können? Es ist also ein public FTP? Denn die musst du ja dafür mitliefern.

Paulh 29. Mai 2011 18:59

AW: Setup Problem
 
Wie bindet man das denn ein ??



Und zuden FTP-Zugangsdaten:

Wenn man das URL eingibt kommt eine Passwortabfrage.

jaenicke 29. Mai 2011 19:11

AW: Setup Problem
 
Zitat:

Zitat von Paulh (Beitrag 1103584)
Wie bindet man das denn ein ??

Findest du bei Google auch sofort, wenn du nach "delphi admin-manifest" suchst, aber hier ein direkter Link... :roll:
http://delphi.about.com/od/delphitip...on-startup.htm

Zitat:

Zitat von Paulh (Beitrag 1103584)
Wenn man das URL eingibt kommt eine Passwortabfrage.

Ja, dann musst du die Daten ja nicht mitliefern. Ich hatte das so verstanden, dass du direkt eine Verbindung via FTP herstellst mit Zugangsdaten aus deiner Exe. ;-)

generic 29. Mai 2011 22:19

AW: Setup Problem
 
Das Programm hat ein Manifest, sonst würde es nicht zu dem Fehler kommen.
Hätte es kein Manifest würde die Dateisystem-Virtualisierung zuschlagen.

Bei den NT Betriebssystem darf ein Benutzer nicht unter C:\Programm oder c:\Windows schreiben.
Das ist auch bei XP bereits so!
Das Problem was du hast ist nur, dass der XP Benutzer Adminstratoren-Rechte oder Hauptbenutzer-Rechte hat.

Unter Vista & Win7 hat ein Benutzer nie Adminrechte, es sein denn ein Programm fordert diese vorher an.
Ein Download gehört übrigens NICHT in C:\Programm sondern in Benutzerprofil z.B. unter "Eigene Dateien"!

In c:\Programm sollten nur Setups schreiben. Diese können die notwendigen Rechte anfordern und können auch u.a. die Systemwiederherstellung von Windows unterstützten.

Du solltest auch unbedingt einen richtigen Installer nehmen und KEINE eigene Lösung bauen.
Was fertiges nehmen hat viele Vorteile:
- Systemwiederherstellung
- Patches
- die richtige Rechte sind da
- Transaktionsbasierte Installationen

Ich kann dir den Windwos Installer empfehlen. Dafür gibt es verschiedene Tools welche auch kostenlos sind.
WIX ist eines davon.

jaenicke 30. Mai 2011 04:19

AW: Setup Problem
 
Ein Manifest mag drin sein, aber wahrscheinlich nur implizit mit TXPManifest oder so um den Style zu bekommen.

Paulh 30. Mai 2011 13:06

AW: Setup Problem
 
So ich habe mal in der DP gesucht und das gefunden:
Delphi Praxis
Inno Setup

Ich habe Inno Setup installiert nur ich weiß nicht was ich machen soll ? :?:


@generic
Zitat:

Zitat von generic (Beitrag 1103597)
Ein Download gehört übrigens NICHT in C:\Programm sondern in Benutzerprofil z.B. unter "Eigene Dateien"!

Der Download, läuft um das PROGRAMM herunterzuladen, das der User anwendet !

Zitat:

Zitat von Paulh
Wenn ich meinen Setup auf einen Windows 7 Computer ausführe, der Setup erstellt einen Ordner unter C:\Programme\XXXX oder C:\Program files\XXXX und stellt eine FTP-verbinndung mit meinen Server her und kopiert ein Programm in den Ordner XXXX, kommt folgender Fehler:


Paulh 30. Mai 2011 13:22

AW: Setup Problem
 
Problem gelöst!!!:)

Danke an alle !!:thumb:

himitsu 30. Mai 2011 13:35

AW: Setup Problem
 
Zitat:

Zitat von Paulh (Beitrag 1103714)
Problem gelöst!!!:)

Und wie?

Denn was ist, wenn nochmal wer dieses Problem hat.

generic 30. Mai 2011 14:08

AW: Setup Problem
 
Zitat:

Zitat von Paulh (Beitrag 1103709)
So ich habe mal in der DP gesucht und das gefunden:
Delphi Praxis
Inno Setup

Ich habe Inno Setup installiert nur ich weiß nicht was ich machen soll ? :?:


@generic
Zitat:

Zitat von generic (Beitrag 1103597)
Ein Download gehört übrigens NICHT in C:\Programm sondern in Benutzerprofil z.B. unter "Eigene Dateien"!

Der Download, läuft um das PROGRAMM herunterzuladen, das der User anwendet !

Ja, klingt falsch.
Also ist der Downloader eine Art Setup. Somit hat dieses nicht genug Rechte (weil es die nicht anfordert).
Was ist wenn der Download nicht vollständig abgeschlossen werden kann?
Liegt dann eine halbe Installtion in c:\programme ?
Lieber im Temp Ordner runterladen und wenn das Paket heile ist (mit Prüfsumme oder Signatur prüfen) dann erst installieren lassen durch einen Installer.
Dieser kann dann vorher ein Systemwiederherstellungspunkt anlegen.
Beim Windows Installer ist sogar das Dateien kopieren in einer Transaktion (zum Schutz des Rechners).

Was auch für den Benutzer sicherlich hinderlich ist:
Er läd dein Setup mit seinen Browser runter.
Der Browser ist bereits in der Firewall freigegeben.
Nun startet er dein Programm und diese benötigt dann auch wieder eine Freigabe in der Firewall, da es sonst nicht herunterladen kann.

FTP würde ich übrigens auch nicht verwenden, da es da oft Probleme mit Firewalls geben kann. Aktive Verbindungen gehen nur mit eingetragen Portforwardings in den Routern. Passive gehen in der Regel besser, aber wie gesagt - HTTP läuft im Browser hervorragend.

Der Windows Installer unterscheidet übrigens zwischen System und Benutzer Installationen. Für letztere werden keine erhöhten Rechte genutzt, die die Software komplett ins Benutzerprofil installiert wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz