Shortcut to MS-DOS Program (.PIF)

How can I change icon for a Shortcut to MS-DOS Program (.PIF) file ? I've tryed to right click then properties then Program then Change Icon then I chosed my .ico file and nothing change.

I reproduce the steps in this image http://s5.postimg.org/d5gfx0bt3/pif_File_Shorckut.png


Solution 1:

Ok I managed to get my hands on a genuine Borland C++ .pif.

As best I can tell Windows 8 shortcut/icon subsystem just doesn't support .PIFs anymore (probably due to Windows moving away from 16-bit support), at least in as much as displaying an icon for the file.

As you found, you can sort of apply a new icon in the properties, but it doesn't show in Explorer views or on the Desktop.

If you find the 16-bit EXE the PIF points at, and create a shortcut to it the usual way, it (Windows 8, 32-bit anyway) actually still makes a PIF(!) -- that you can't change the icon for. :/

Here's a work-around to get a shortcut to the 16-bit EXE, with a custom icon:

  1. Make a new batch (BAT) file.
  2. Inside it, put the path to the EXE you want to run (ie: c:\borlandc\bin\bc.exe).
  3. Save it someplace, like in the same folder as the EXE in question.
  4. Create a shortcut to the .BAT file you just made. It'll create a standard LNK shortcut to it.
  5. Change the Icon of that shortcut.
  6. Use copies of that new shortcut at will.

Note: If you don't know the file/path to the file the PIF actually points at, open the .PIF with a text editor (like Notepad), the path will be visible.

Results:

image for Explorer

BC++ 16-bit on Win8 32-bit

Note 2: I'm using Windows 8, 32-bit on this machine, and it had to install a DOS VM "Feature" to handle running the 16-bit EXE. I've not tested this under 64-bit Windows 8, so your results may vary. :)