Salamand.exe registration in Windows
Salamand.exe registration in Windows
I have a utility program I wrote that is a folder management program that lets you define commonly used paths.
I made it because, at work, I have tons of folders I use and it's easier if I can just click on an icon in the System Tray and see a list of the folders pertaining to my clients.
Now, I say all that to say that I incorporated the ability into my program to either launch the folder in Windows Explorer, or in Altap Salamander.
A feature that would be nice to have would be that Altap, upon installation, it registers the install path of the executable in the registry which is usually located in an App Paths key and would look something like thise for Altap: (This is what it would look like in an exported .reg file)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\salamand.exe]
@="C:\\Program Files\\Altap Salamander\\salamand.exe"
I'm sure you know that this means the program can be run from the "Run..." command in the start menu, and people that program can use stuff like Process.Start("salamand.exe") in .NET language to launch Altap Salamander without having to actually know where the executable is located; Windows takes care of that for you since it's registered in the program list in the Registry.
Currently, my users have to define where their installation of Altap Salamander is for it to be launched properly.
However I did find one reference to salamand.exe in the registry in the uninstall information, so I can hack it until this feature is probably implemented.
I made it because, at work, I have tons of folders I use and it's easier if I can just click on an icon in the System Tray and see a list of the folders pertaining to my clients.
Now, I say all that to say that I incorporated the ability into my program to either launch the folder in Windows Explorer, or in Altap Salamander.
A feature that would be nice to have would be that Altap, upon installation, it registers the install path of the executable in the registry which is usually located in an App Paths key and would look something like thise for Altap: (This is what it would look like in an exported .reg file)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\salamand.exe]
@="C:\\Program Files\\Altap Salamander\\salamand.exe"
I'm sure you know that this means the program can be run from the "Run..." command in the start menu, and people that program can use stuff like Process.Start("salamand.exe") in .NET language to launch Altap Salamander without having to actually know where the executable is located; Windows takes care of that for you since it's registered in the program list in the Registry.
Currently, my users have to define where their installation of Altap Salamander is for it to be launched properly.
However I did find one reference to salamand.exe in the registry in the uninstall information, so I can hack it until this feature is probably implemented.
Re: Salamand.exe registration in Windows
Very Nice. I set my Salamander to run from the right click of Start Menu and My Computer.
Re: Salamand.exe registration in Windows
Dude, I love your avatar. lol
Re: Salamand.exe registration in Windows
I wanted to use an animated one but couldn't get it posted. 

Re: Salamand.exe registration in Windows
Well, it seems I can't even use that option because I just realized the key has the version number with it, so I can't get the folder path.
Please, please make this a feature. it would help so much with my program.
Kinda strange that a program like Salamander doesn't support this option; the ability to run from the Run... box with just putting in salamand.exe
Please, please make this a feature. it would help so much with my program.
Kinda strange that a program like Salamander doesn't support this option; the ability to run from the Run... box with just putting in salamand.exe
Re: Salamand.exe registration in Windows
I got it working on my end without a problem
Re: Salamand.exe registration in Windows
I mean for my program. Because if a new version comes out, it won't have the same key.
I'm talking about the one place I found that salamand.exe is mentioned in the whole Registry, and that's in the uninstallation section.
I was thinking I could reference that but then realized it contains the vrsion number in the key, so if a new version of Altap Salamander came out and someone upgraded , It would break my program.
Yes, it works if you manually put in a Registry key in the AppPath area to match where you installed Altap, but I wrote a program where I'm trying to eliminate the need for the user to have to point to the executable. If there was already a key there installed by Altap, I could just check to see if it's there.
If the key is there, that means Altap is installed, and then I can just get the value and launch the program no matter where it was installed.
I'm talking about the one place I found that salamand.exe is mentioned in the whole Registry, and that's in the uninstallation section.
I was thinking I could reference that but then realized it contains the vrsion number in the key, so if a new version of Altap Salamander came out and someone upgraded , It would break my program.
Yes, it works if you manually put in a Registry key in the AppPath area to match where you installed Altap, but I wrote a program where I'm trying to eliminate the need for the user to have to point to the executable. If there was already a key there installed by Altap, I could just check to see if it's there.
If the key is there, that means Altap is installed, and then I can just get the value and launch the program no matter where it was installed.
Re: Salamand.exe registration in Windows
you can much easier create a REG file to remove the old entry and add the required entry. If it's a feature request that gets put into the RoadMap, who knows how long it will take to pave the road....betas last about a year per version here.




Re: Salamand.exe registration in Windows
:/ yeah, but still..When other people download my program, that isn't viable.
I can put it in manually, but they can't.
*sigh*
Guess I'll have to stick with the user defining the installed folder.
I can put it in manually, but they can't.
*sigh*
Guess I'll have to stick with the user defining the installed folder.
Re: Salamand.exe registration in Windows
If Salamander exists on the system, why can't you have your program search for the proper path and add the appropriate key? Or you can create your own installer of Salamander to save yourself headaches. Personally I think it is easy as to just removing the old key and adding the proper key.
Re: Salamand.exe registration in Windows
But what if the user changes the default installation folder?
How am I supposed to know where that is. What if they put it on a D:\ partition or simply did C:\Program Files\Altap\
There's no way to know that. I can't assume the user used the default install path that Altap provides.
How am I supposed to know where that is. What if they put it on a D:\ partition or simply did C:\Program Files\Altap\
There's no way to know that. I can't assume the user used the default install path that Altap provides.
Re: Salamand.exe registration in Windows
Search to see if the app exists in a specific folder and if not, error out and don't add the reg key. Altap 2.5 went into a 2.5 folder, 2.51 is a Altap 2.51 folder and so on. Create a CMD file with various keys of various path.
Re: Salamand.exe registration in Windows
Yes, provided the person put it in that folder.
When I installed Altap, I installed it in "C:\Program Files\Altap Salamander", not "C:\Program Files\Altap Salamader 2.51".
You're right, I could make a list of default folders for various versions, but people who didn't install to the default folder still wouldn't be able to use it.
Now, my application isn't very popular; but still, need to make sure nothing can ever break if even just one person were to do something out of the ordinary.
When I installed Altap, I installed it in "C:\Program Files\Altap Salamander", not "C:\Program Files\Altap Salamader 2.51".
You're right, I could make a list of default folders for various versions, but people who didn't install to the default folder still wouldn't be able to use it.
Now, my application isn't very popular; but still, need to make sure nothing can ever break if even just one person were to do something out of the ordinary.
Re: Salamand.exe registration in Windows
Actually, you can do a search for salamext.dll in the registered libraries and the location of the main executable, i.e. salamand.exe, can be computed from that. I'm sure there's some API you can use to search in the registered libraries, but you can also just search the registry (found mine in REG:\HKEY_CLASSES_ROOT\CLSID\{C78B6136-F3EA-11D2-94A1-00E0292A01E3}\InProcServer32). One of the "features"(*) of Salamander is that it always tries to register its salamext.dll.
*) Makes using Salamander as a portable application a bit more difficult.
*) Makes using Salamander as a portable application a bit more difficult.
Last edited by Ether on 25 Jul 2009, 15:29, edited 1 time in total.
Ελληνικά rulez.
Re: Salamand.exe registration in Windows
hmm. i'll try that...thanks for the heads up on that.