Correct and update executable types in PathIsExe

Rolf Kalbermatter r.kalbermatter at hccnet.nl
Mon Sep 23 16:44:10 CDT 2002


>Jeff Smith" <whydoubt at hotmail.com> writes:
>
>> Looking at PathIsExe, I thought PID was probably supposed to be PIF
>> (Program Information File).  I checked MSDN, and found this was the
>> case.  I also found two more types that need to be recognized: SCR
>> (SCReensaver) and SCF (Shell Command File?).
>
>.pif is clearly right, but are you sure about .scr and .scf?  My
>version of Windows doesn't do that.

It doesn't do it always. I had it once and disabled it immediately
since I use an application with its own .scf file types. When enabled
it captors the scf files directly on shell level and it wasn't possible
to select scf files in the file dialog anymore!!!
They are really text files in the way of Ini files. It may be possible
that it comes with certain versions of Internet Explorer or Active
Desktop or whatever. The scf extension when enabled is linked to
SHCmdFile which starts explorer.exe without command arguments and then
probably passes a DDE execute command to App: Folders, Topic: AppProperties
with the command [ShellFile("%1","%1",%S)]. It is therefore not a Windows
executable but really a shell extension feature.

SCR files really are special exes. They are usually started by the
screen saver control panel or system and not by a user double click.
Windows adds links to the HKR keys to execute them as executable
but again this happens on the shell level and not in the kernel. The
file without any arguments started should display the configuration
dialog if any. For the Test case the shell calls the file with argument /S.
Installation is done by calling "rundll32.exe desk.cpl,InstallScreenSaver
%l".

I would not recommend trying to enable scf files at all in Wine. They
are certainly no executables. I have no idea how the Wine pholosophy is
in terms of enabling and supporting Windows shell features in Wine
itself. It seems not useful to do that other than in the internal Wine
browser/explorer eventually with help of Shell32. I would believe that
Windows makes those types only indirectly executable through their
registry entry and the shell which can interprete and resolve them.

Rolf Kalbermatter





More information about the wine-devel mailing list