Using WININIT.INI to move files in use

Posted on 1998-12-08
Last Modified: 2013-12-25
In Win95 I need to overwrite an exe file which is in use
with a newer version of the file.  I enter the appropriate
line into the wininit.ini file eg. c:\destination\mylongfilename.exe=c:\temp\mylongfilename.exe

This does not work, since the file has a long file name.  If I use a short file name, it does work.  If I put the path and long file names in quotes, it still does not work.

Any ideas?
Question by:paul_gilowey
  • 4
  • 3

Author Comment

ID: 1498067
Edited text of question
LVL 14

Expert Comment

ID: 1498068
I had found a way, I have to retrieve it.

Author Comment

ID: 1498069
Adjusted points to 60
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

LVL 13

Expert Comment

ID: 1498070
Does putting quotes around it work

Author Comment

ID: 1498071
Thank-you, but no I've tried that already.  When I reboot windows, it gives me the message that it is updating my files, but does'nt.  All it does is rename the wininit.ini to wininit.bak.

Since the files get copied before windows loads (ie. in DOS
mode) I guess one needs to use the short file name.  I tested
to see how windows deals with this, by coping a file with a
long file name via the dos prompt, and then checking in explorer if it kept the long file name ( copy myfile~1.txt \temp\myfile~1.txt).  Windows retained the long file name.  

No other suggestions?

LVL 13

Expert Comment

ID: 1498072
Directly from the KB.

Moving Files in Windows 95
Windows 95 does not implement MoveFileEx(), but does provide an alternate way for all Win32-based, 16-bit Windows-based, and MS-DOS-based applications to move, replace, or delete files (but not directories) that are currently in use. This capability is implemented through the [rename] section of a file named Wininit.ini. If Wininit.ini is present in the Windows directory, Wininit.exe processes it when the system boots. Once Wininit.ini has been processed, Wininit.exe renames it to Wininit.bak.

The syntax of the [rename] section is:


DestinationFileName and SourceFileName must reside on the same volume and be short (8.3) file names because Wininit.ini is processed before the protected mode disk system is loaded, and long file names are only available when the protected mode disk system is running. Destination and source files specified in Wininit.ini with long file names are ignored.


Author Comment

ID: 1498073
I know how to do it.  The problem is that when the file gets copied, it loses it's long file name, since I refrence the
short file name.
LVL 13

Accepted Solution

Mirkwood earned 60 total points
ID: 1498074
Yep, that's right. And the text that I gave you came directly from the Microsoft knowledge base describing that it cannot be done.
So the answer to your question is that it cannot be done.

Featured Post

PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Macro Excel - Multiple If conditions 2 88
Automatic Email Reminder 4 75
Publisher:   Unknown     VB.exe Application 1 31
how to Classify of email (pdf attachments) 7 50
I’ve seen a number of people looking for examples of how to access web services from VB6.  I’ve been using a test harness I built in VB6 (using many resources I found online) that I use for small projects to work out how to communicate with web serv…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question