Solved

Using WININIT.INI to move files in use

Posted on 1998-12-08
8
229 Views
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?
0
Comment
Question by:paul_gilowey
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
8 Comments
 

Author Comment

by:paul_gilowey
ID: 1498067
Edited text of question
0
 
LVL 14

Expert Comment

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

Author Comment

by:paul_gilowey
ID: 1498069
Adjusted points to 60
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 13

Expert Comment

by:Mirkwood
ID: 1498070
Does putting quotes around it work
"c:\destination\mylongfilename.exe"="c:\temp\mylongfilename.exe"
0
 

Author Comment

by:paul_gilowey
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?

0
 
LVL 13

Expert Comment

by:Mirkwood
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=SourceFileName

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.

0
 

Author Comment

by:paul_gilowey
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.
 
0
 
LVL 13

Accepted Solution

by:
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.
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
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…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

726 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