Why / Where is the installation folder remembered ?

English support forum

Moderators: white, Hacker, petermad, Stefan2

Post Reply
Denwen
Junior Member
Junior Member
Posts: 6
Joined: 2024-03-11, 08:44 UTC

Why / Where is the installation folder remembered ?

Post by *Denwen »

I am curious:
I installed TC in a custom folder on Windows 11. Then I changed my mind and decided to leave it in the default folder.
Uninstalled it, deleted all keys of totalcmd from registry, restarted.
Still, when I try to install again, it remembers the custom folder.
Where is this info stored, and how do I remove it?
User avatar
petermad
Power Member
Power Member
Posts: 14808
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Re: installation folder

Post by *petermad »

2Denwen

There are 3 keys in the Registry:
HKEY_CURRENT_USER\Software\Ghisler
HKEY_LOCAL_MACHINE\SOFTWARE\Ghisler
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ghisler

Maybe you missed one opf them...?
License #524 (1994)
Danish Total Commander Translator
TC 11.03 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1371a
TC 3.50 on Android 6 & 13
Try: TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
Denwen
Junior Member
Junior Member
Posts: 6
Joined: 2024-03-11, 08:44 UTC

Re: installation folder

Post by *Denwen »

no - they are all gone.
User avatar
beb
Senior Member
Senior Member
Posts: 435
Joined: 2009-09-20, 08:03 UTC
Location: Odesa, Ukraine

Re: installation folder

Post by *beb »

petermad wrote: 2024-03-28, 03:21 UTC HKEY_CURRENT_USER\Software\Ghisler
HKEY_LOCAL_MACHINE\SOFTWARE\Ghisler
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Ghisler
Maybe you missed one of them...?
Denwen wrote: 2024-03-28, 03:30 UTC no - they are all gone.
Interesting.
Those registry entries (each of them) can contain the residual installation data (e.g. a kind of "InstallDir"="a:\\former\\install\\path" key).
Also, a former configuration file can be left there in AppData (AppData\Ghisler\wincmd.ini) that may contain similar residual info (e.g. a kind of InstallDir=a:\former\install\path parameter under its [Configuration] section).
On Windows 10 there's no way TC would ever detect the former installation(s) if there are no registry entries with the InstallDir key(s), and there's no previous configuration .ini file with the InstallDir parameter (no such data either at all on the item/file level, or just on the key/parameter level, i.e. if those entries/keys/file/parameter were properly deleted).
Can't believe Windows 11 behaves differently.

You can try the below script to detect the previous installation residual data:
tcmd_install_reporter.ps1

Code: Select all

$ghislerAppData  = @("$env:AppData\Ghisler","$env:LocalAppData\Ghisler")
$ghislerRegistry = @("HKCU:\SOFTWARE\Ghisler","HKLM:\SOFTWARE\Ghisler","HKLM:\SOFTWARE\WOW6432Node\Ghisler")
$max             =  -($ghislerAppData+$ghislerRegistry|Measure -Maximum -Property Length).Maximum
# research AppData
Write-Host -f Cyan    '$AppData       : ' -no
Write-Host -f Yellow  'checking for resident data...'
$ghislerAppData|foreach {
if              (-not ($PSitem|Test-Path)) {
"{0,$max}" -f          $PSitem|Tee -var noData|Out-null
Write-Host -f DarkGray $noData -no;' : does not exist; no action required'
}
else {
# report AppData
"{0,$max}" -f          $PSitem|Tee -var Data|Out-null
Write-Host -f DarkRed  $Data -no
Write-Host -f Yellow  ' : contains data!'
$entry = Get-ChildItem $PSitem -recurse
foreach               ($item in $entry) {
"{0,$max}" -f          $item.FullName|Tee -var dataItem|Out-null
Write-Host -f DarkMag  $dataItem}
}}
# research Registry
Write-Host -f Cyan    '$Registry      : ' -no
Write-Host -f Yellow  'checking for resident data...'
foreach               ($key in $ghislerRegistry) {
"{0,$max}" -f          $key|Tee -var keyOut|Out-null
if              (-not ($key|Test-Path)) {
Write-Host             $keyOut -f DarkGray -no;' : does not exist; no action required'}
else {
Write-Host             $keyOut -f Red -no
Write-Host  -f Yellow ' : contains data!'
Get-ChildItem          $key -recurse |foreach {
$regItem             = $PSitem.toString()
$regItem             = $regItem -replace 'HKEY.*USER\\','HKCU:' -replace 'HKEY.*MACHINE\\','HKLM:'
$regValues           = @()
(Get-ItemProperty      $regItem).PSobject.Properties|Where Name -notin PSPath,PSProvider,PSDrive,PSParentPath|Select Name,Value|
foreach {
$keyName             = $_.name
$keyValue            = $_.value
if   (                 $keyName -eq 'PSChildName') {
$subKey = $key + '\' + $keyValue}
else {
$regValues         += "{0,-11} = {1}" -f $keyName, $keyValue}
}
Write-Host -f Red      $subKey
$regValues|Sort-Object|foreach {
Write-Host -f Magenta  $_
}}}}

if (-not $MyInvocation.PSCommandPath) {pause}
The script works on Windows 10 and I hope it may remain helpful for Win 11 as well.

You can also try tools like RegistryFinder (https://registry-finder.com) to locate if there are any installation data leftovers (e.g. searching for the 'Ghisler' key phrase, etc.)

Edit: detailed considering white's message.
Last edited by beb on 2024-03-28, 21:32 UTC, edited 3 times in total.
#278521 User License
Total Commander [always the latest version, including betas] x86/x64 on Win10 x64/Android 10
Denwen
Junior Member
Junior Member
Posts: 6
Joined: 2024-03-11, 08:44 UTC

Re: Why / Where is the installation folder remembered ?

Post by *Denwen »

thanks! That was it. The Ghisler folders were in Appdata.
User avatar
white
Power Member
Power Member
Posts: 4623
Joined: 2003-11-19, 08:16 UTC
Location: Netherlands

Re: Why / Where is the installation folder remembered ?

Post by *white »

If there are no Total Commander settings in the Windows registry, the installer also checks %APPDATA%\GHISLER\wincmd.ini for the InstallDir setting. This setting is normally present in wincmd.ini and also contains the installation folder.
Post Reply