AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Update.exe nach TempDir unter Win7 kopieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Update.exe nach TempDir unter Win7 kopieren?

Ein Thema von OrNEC · begonnen am 6. Sep 2010 · letzter Beitrag vom 8. Sep 2010
Antwort Antwort
Seite 1 von 3  1 23      
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#1

Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 15:42
Delphi-Version: 7
Hallo,

ich verwende folgende Komponente um meine Anwendung zu aktualisieren. http://www.kidmoses.com/blog-article.php?bid=22

Da hab ich die Möglichkeit ein Verzeichnis auszuwählen wohin die Update.exe hinein kopiert werden soll. Ich verwende das Verzeichnis Temp. Es klappt auch soweit alles gut, nur unter Windows 7 geht das nicht. Die Update.exe wird irgendwo hin runtergeladen aber sie starten anschließend nicht, obwohl sie das automatisch tun soll.

Ich hab hier die Funktion die das erledigen soll:

Delphi-Quellcode:
function GetTempDir(): string;
var
  PC: Array[0..MAX_PATH + 1] of Char;
  s: string;
begin
  GetTempPath(MAX_PATH, PC);
  s := IncludeTrailingBackslash(StrPas(PC));
  if not DirectoryExists(s) then begin
    s := ExtractFilePath(Application.ExeName);
    s := IncludeTrailingBackslash(s);
    s := s + 'Temp\';
    CreatePath(s);
    end;
  Result := s;
end;
Kann man diese irgendwie an Win 7 anpassen? Wäre sehr dankbar wenn mir jemand helfen würde. Danke!
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#2

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:05
Was gibt die Funktion denn zurück?
Ich mache es nämlich genau so, wie es aussieht, nur dass ich auf diesen mittleren Teil verzichte, wo ein Temp-Ordner im Programmverzeichnis angelegt wird. Stattdessen bekommt der Benutzer eine Fehlermeldung, wenn der Temp-Ordner nicht ermittelt werden konnte oder nicht existiert.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:10
Ich hoffe du hast auch eine Vista-Erweitertes Manifest um die Virtualisierung des Dateisystems abzuschalten (unter C:\Programme\.. kann man kein Verzeichnis erstellen wenn der Prozess nicht mit Admin-Rechten gestartet wurde (UAC-Aktiv)).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:11
Was gibt die Funktion denn zurück?
Weiß ich nicht, muss mal schauen.
Also das ist so - unter WinXP startet die Update.exe um sich zu installieren, unter Win7 aber nicht. Hat das vllt nix mit dem Temp Ordner zu tun? Was meinst du wieso startet es nicht?
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#5

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:13
Ich hoffe du hast auch eine Vista-Erweitertes Manifest um die Virtualisierung des Dateisystems abzuschalten (unter C:\Programme\.. kann man kein Verzeichnis erstellen wenn der Prozess nicht mit Admin-Rechten gestartet wurde (UAC-Aktiv)).
Die Update.exe erstelle ich mit InnoSetup, wie kann ich da das Manifest einschleusen?
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:14
Wir hatten das hier schon ziemlich oft...

Programm liegen unter c:\programme bzw c:\program files

Dort darf ein User NICHT schreiben (das ist auch schon bei XP so)!
Somit kannst du dort auch keine Ordner anlegen.
Abhängig von den Manifesten an deiner Anwendung, schlägt die Dateisystem Virtualisierung zu!

Der Temp-Pfad ist (abhängig vom Benutzerkonto und UAC) im Benutzerprofil oder unter c:\windows\temp.
Letzter Ordner kann auch nur mit Adminrechten geschrieben werden.

Die Ordner solltest du wenn überhaupt nur über die "well known folders" ermitteln.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#7

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:17
Naja, ich kenne die Komponente, die du da benutzt, nicht. Das habe ich für meine Programme alles selbst gebaut. Wenn aber z.B. kein Temp-Dir ermittelt werden konnte und CreatePath() fehlschlägt, was passiert denn dann? Hast du Windows 7 nicht, um das zu debuggen (der Screenshot ist glaube ich auf Win7 gemacht ..)?

Zitat:
Die Update.exe erstelle ich mit InnoSetup, wie kann ich da das Manifest einschleusen?
Alles was mit InnoSetup erstellt wurde, hat dieses Manifest schon. Allerdings versucht ja dein Programm den Temp-Ordner zu erstellen, das ist also unabhängig von InnoSetup.
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:17
Wir hatten das hier schon ziemlich oft...

Programm liegen unter c:\programme bzw c:\program files

Dort darf ein User NICHT schreiben (das ist auch schon bei XP so)!
Somit kannst du dort auch keine Ordner anlegen.
Abhängig von den Manifesten an deiner Anwendung, schlägt die Dateisystem Virtualisierung zu!

Der Temp-Pfad ist (abhängig vom Benutzerkonto und UAC) im Benutzerprofil oder unter c:\windows\temp.
Letzter Ordner kann auch nur mit Adminrechten geschrieben werden.

Die Ordner solltest du wenn überhaupt nur über die "well known folders" ermitteln.
Ja das weiß ich alles, aber wie lasse ich die Update.exe aus dem TempOrdner starten? Die Update.exe erstellt mir InnoSetup.
  Mit Zitat antworten Zitat
Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#9

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:21
Zitat:
Ja das weiß ich alles, aber wie lasse ich die Update.exe aus dem TempOrdner starten? Die Update.exe erstellt mir InnoSetup.
So wie du es da oben schon beschrieben hast, nur lass das selbstständige Erstellen des Ordners weg. Ohne den Rückgabewert deiner Funktion zum Temp-Verzeichnis-holen zu kennen wird das hier schwierig glaube ich. Falls der Wert passt ist die Komponente vielleicht auch nicht ganz sauber.. Jedenfalls ist es schwierig keinen Temp-Dir ermitteln zu können, wenn der User sein System nicht extrem verfrickelt hat...
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"
  Mit Zitat antworten Zitat
OrNEC

Registriert seit: 6. Nov 2009
493 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Update.exe nach TempDir unter Win7 kopieren?

  Alt 6. Sep 2010, 16:24
Zitat:
Ja das weiß ich alles, aber wie lasse ich die Update.exe aus dem TempOrdner starten? Die Update.exe erstellt mir InnoSetup.
So wie du es da oben schon beschrieben hast, nur lass das selbstständige Erstellen des Ordners weg. Ohne den Rückgabewert deiner Funktion zum Temp-Verzeichnis-holen zu kennen wird das hier schwierig glaube ich. Falls der Wert passt ist die Komponente vielleicht auch nicht ganz sauber.. Jedenfalls ist es schwierig keinen Temp-Dir ermitteln zu können, wenn der User sein System nicht extrem verfrickelt hat...
Der Rückgabewert lautet: "C:\Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Temp"

Ich hab kein Win 7, schade kann das nicht testen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 00:19 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