Installations-Verzeichnis

German support forum

Moderators: white, Hacker, Stefan2

holde
Junior Member
Junior Member
Posts: 88
Joined: 2013-09-23, 11:31 UTC

Installations-Verzeichnis

Post by *holde »

Ich bin verzweifelt.
Nach Jahren reiner 32-bit bzw. gemischter 32/64-Bit-Installation wollte ich nun vollständig auf 64-Bit wechseln.
Also deinstalliert, Registry gesäubert (alle Keys mit Namen 'Ghisler' gelöscht) und dann das Installationsscript für die reine 64-Bit Anwendung gestartet:

Code: Select all

[auto]
// Set auto=1 for automatic installation, hidden=1 for invisible installer, with parameters below and from [Installation]
auto=1
hidden=0
lang=2
alllang=2
iniloc=%APPDATA%\GHISLER\
iniall=1
mkgroup=1
mkdesktop=1
// set userforicons=* for all users, empty=current user, or give user name
userforicons=*

[Versioncheck]
Vernum=2

[Not running]
1=WINDOW,Total Commander
2=TTOTAL_CMD,Total Commander
3=TTOTAL_CMD.UnicodeClass,Total Commander
4=TApplication,Total Commander,Total Commander

[Destination]
Dir=%ProgramFiles%\Tools\Total Commander
Ini=wincmd.ini,Configuration,InstallDir
Aber egal, was ich mache, das Setup installiert das Programm immer wieder nach 'Program Files (x86)\*'
Bislang hatte das Säubern der Registry immer geholfen. Was mache ich jetzt falsch?!
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Von welchem Programm aus startest du die Installation? %ProgramFiles% ist je nach Elternprogramm unterschiedlich gefüllt: bei 64 Bit Programmen wird das zum 64 Bit Pfad aufgelöst (also normalerweise %SystemDrive%\Program Files), bei 32 Bit Programmen natürlich der 32 Bit Pfad (normalerweise %SystemDrive%\Program Files (x86)).

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
holde
Junior Member
Junior Member
Posts: 88
Joined: 2013-09-23, 11:31 UTC

Post by *holde »

Ich starte die install.exe aus dem Script-Paket der reinen 64-Bit Version.
Es wird ja auch die 64-Bit-Version (und nur diese installiert)

Edit:
Ich meine mit Script-Paket, dass ich die tcm851ax64.exe entpackt und die install.inf meinen Wünschen angepasst habe.
Es ist die 144kb große install.exe - also die 64-bit-Version
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

Ich merke gerade, dass ich Unsinn schrieb, denn vom Elternprogramm hängt das gar nicht ab, weil der Installer das selbst auflöst. Daher kann es - sofern der benutzte Installer tatsächlich 64-bittig ist - nur daran liegen, dass noch irgendwo in der Registry hinterlegt ist, wo der (alte) TC mal installiert war. Das sind:

Code: Select all

HKLM\Software\Ghisler
HKLM\Software\Wow6432Node\Ghisler
HKCU\Software\Ghisler
Ja, der 64 Bit Installer schaut auch im 32 Bit Zweig der Registry nach.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
holde
Junior Member
Junior Member
Posts: 88
Joined: 2013-09-23, 11:31 UTC

Post by *holde »

Ich hatte zuerst an 3 Stellen alle 'Ghisler-Schlüssel' entfernt gehabt. (hatte nach Ghisler gesucht - denke, dass die integrierte Suche der Registry da nicht das Problem ist)
Ändert nichts. Irgendetwas verhindert die saubere 64-Bit-Installation.


Jetzt stehen nur noch die Daten für die 64-Bit-Instalaltion in der Registry
Habe TC deinstalliert, die beiden Einträge in der Registry gelöscht, auch den Virenscanner (zur Sicherheit) deaktiviert und ...

... es wird weiterhin im (x86)-Ordner installiert :(
holde
Junior Member
Junior Member
Posts: 88
Joined: 2013-09-23, 11:31 UTC

Post by *holde »

Das Setup-Prorgamm scheint ja selber geschrieben zu sein - gibt es da eine Debug-Version, die einem verrät, woher die Info des Installationspfades kommt?
User avatar
HolgerK
Power Member
Power Member
Posts: 5406
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

holde wrote:... es wird weiterhin im (x86)-Ordner installiert :(

Code: Select all

[Destination]
Dir=%ProgramFiles%\Tools\Total Commander 
Auf Basis von welcher Install.exe baust du deinen Autoinstallation auf?
Nur die Install.exe aus tcm851x64.exe ist ein 64 Bit Version die die Variable %ProgramFiles% korrekt auf einem 64Bit System auflösen.
Für 32 Bit Prozesse wird diese Variable vom System immer auf das entsprechende "Program files (x86)" umgemappt.

Gruss
Holger
User avatar
Stefan2
Power Member
Power Member
Posts: 4132
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

Mein Senf :D


1) Wir reden hier von Windows 7, in 64-bit als Betriebssystem?


2)
holde wrote:Jetzt stehen nur noch die Daten für die 64-Bit-Instalaltion in der Registry
Welche sind das? Die unter 'HKLM\Software\Ghisler '?



3) Von wo aus startest du die Installation? Aus einem 32-bit Prozess heraus?


4)
... es wird weiterhin im (x86)-Ordner installiert
Ändere doch
Dir=%ProgramFiles%\Tools\Total Commander
in
Dir=C:\Program Files\Tools\Total Commander
?
(solange du die install.inf nur für dich selbst verwendest...)


5) Du weißt, dass man das TC-Setup auch entpacken und die Dateien einfach kopieren kann?
Oder ist diese "Handarbeit" kein Thema für dich?


 
 
User avatar
Dalai
Power Member
Power Member
Posts: 9364
Joined: 2005-01-28, 22:17 UTC
Location: Meiningen (Südthüringen)

Post by *Dalai »

2Stefan2
Punkt 3 spielt keine Rolle, wie ich oben schon ausführte. Die Umgebungsvariable in Punkt 4 funktioniert schon, ich verwende sie selbst.

Holger hat wahrscheinlich ins Schwarze getroffen. Ich habe auch den Verdacht, dass hier das Kombipaket (32+64) benutzt wurde, bei der die install.exe dieselbe Größe hat wie die des reinen 64 Bit Pakets.

MfG Dalai
#101164 Personal licence
Ryzen 5 2600, 16 GiB RAM, ASUS Prime X370-A, Win7 x64

Plugins: Services2, Startups, CertificateInfo, SignatureInfo, LineBreakInfo - Download-Mirror
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Der Eintrag in der install.inf
[Destination]
Dir=%ProgramFiles%\Tools\Total Commander
wird ignoriert, wenn es den Eintrag in der Registry vom vorherigen Verzeichnis gibt. Grund: So wird ein Update durchgeführt, wenn bereits ein Total Commander installiert war.

TC schaut hier nach:
HKCU\Software\Ghisler
HKLM\Software\Wow6432Node\Ghisler
HKLM\Software\Ghisler

bzw.
HKLM\Software\Wow3264Node\Ghisler
vom 32-bit-Installer aus.
Author of Total Commander
https://www.ghisler.com
User avatar
Stefan2
Power Member
Power Member
Posts: 4132
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

ghisler(Author) wrote:
bzw. auch wenn eine wincmd.ini mit dem Eintrag

Code: Select all

[Configuration]
InstallDir=D:\drive\path\to\TC folder
gefunden wird. (Standard-Eintrag, wenn TC installiert wurde)


Ich habe alle genannte Registry-Keys umbenannt, und musste noch den Eintrag in der wincmd.ini rausnehmen.
Erst danach wurde wieder der gewünschte Pfad aus den Install.inf genommen.

Aber die Registry-Keys haben Vorrang vor dem wincmd.ini Eintrag (werden zuerst abgefragt)



- - -

Und ihr habt Recht: die "INSTALL64.EXE" aus einem 32-bit TC heraus gestartet, löst "%ProgramFiles%\totalcmd" aus der "INSTALL64.INF" korrekt in "C:\Program Files\totalcmd" auf.

Die "INSTALL.EXE" löst "Dir=%ProgramFiles%\totalcmd" aus der "INSTALL.INF" in "C:\Program Files (x86)\totalcmd" auf.

Also kann die Install64.exe aus dem 32-bit TC "ausbrechen" und als 64-bit Anwendung fungieren.


- - -

Gibt es wirklich den "HKLM\Software\Wow3264Node" Zweig?
Ich kenne nur "W o W64 32Node"

 
holde
Junior Member
Junior Member
Posts: 88
Joined: 2013-09-23, 11:31 UTC

Post by *holde »

1) Es ist die Install.exe aus dem 64bit-Paket. (hatte ja auch von 144kb Größe gesprochen)
2) Alle Registry-Schlüssel namens 'Ghisler' wurden gelöscht
3) Es handelt sich natürlich um ein 64-Bit-System (Win7)

Ich habe die Registry auf anderen Rechner schon zig-mal gelöscht, um das Installationsverzeichnis zum Beispiel von c:\totalcmd zu ändern. Das hatte immer funktioniert.
Nur jetzt, auf diesem einen Rechner scheint sich TC nicht daran zu halten.

Aber Stefan2 hat den richtigen Hinweis gegeben:
und musste noch den Eintrag in der wincmd.ini rausnehmen.
Danke für diesen Hinweis!

Ist es nicht möglich, in der INF-Datei mitzuteilen, dass der Eintrag in der wincmd.ini ignoriert werden soll und am besten auch die Reg-Einträge, die ja eh überschrieben werden?
Das würde in einigen Situationen sehr viel Handarbeit ersparen.
Ich meine das als optionale Einstellung. Die inf-Datei passt man ja eh nur an, wenn man etwas auf mehreren Rechnern individuell einrichten will.
Man könnte so (so meine Vorstellung) auch einen schon vorhandenen TC bei einem Versionsupdate verschieben.

Wurde da am Verhalten etwas geändert oder hatte ich bislang immer nur Glück, weil ich diese Änderungen mit einem anderen Account durchgeführt hatte und da der Installationspfad in der wincmd.ini nicht vorhanden war?!
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ist es nicht möglich, in der INF-Datei mitzuteilen, dass der Eintrag in der wincmd.ini ignoriert werden soll und am besten auch die Reg-Einträge, die ja eh überschrieben werden?
Leider nein - ich nehme es auf meine ToDo-Liste für den verbesserten Installer.
Author of Total Commander
https://www.ghisler.com
User avatar
Stefan2
Power Member
Power Member
Posts: 4132
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Post by *Stefan2 »

ghisler(Author) wrote:
Ist es nicht möglich, in der INF-Datei mitzuteilen, dass der Eintrag in der wincmd.ini ignoriert werden soll und am besten auch die Reg-Einträge, die ja eh überschrieben werden?
Leider nein - ich nehme es auf meine ToDo-Liste für den verbesserten Installer.
Fein!

Wäre so ein Dialog möglich?

Code: Select all

(o) Update portable TC (don't read/write Registry)
    Path to portable TC folder: [ X:\TC8      ]
     [Update]
Next:
- stop TC if running
- update files
- launch TC again


.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hier der neue Installer. Benutzung wie folgt:
1. Oeffnen der Installationsdatei tcmd*.exe mit Strg+BildAb
2. Entpacken aller Dateien in ein leeres Verzeichnis "install"
3. Install.inf wie folgt ändern: Unter [Destination] eintragen
IgnoreOldLocation=1
4. install32.exe oder install64.exe in sfxhead.sfx umbenennen,
und ins Verzeichnis des laufenden TC kopieren
5. Verzeichnis "install" von oben mit Alt+F5 packen, mit der
Option "erzeuge selbst-entpackendes Archiv". Vorher klicken
auf "konfigurieren", und als Kompressionsrate 0 einstellen

Download:
http://ghisler.fileburst.com/addons/newinstaller.zip
Author of Total Commander
https://www.ghisler.com
Post Reply