PRB: Files with Long-Format File Names Are Not Installed Correctly on Windows 95/Windows 98 (300920)
The information in this article applies to:
- Microsoft Windows Installer 1.0, when used with:
- the operating system: Microsoft Windows 95
- the operating system: Microsoft Windows 98
- Microsoft Windows Installer 1.1, when used with:
- the operating system: Microsoft Windows 95
- the operating system: Microsoft Windows 98
- Microsoft Windows Installer 1.2, when used with:
- the operating system: Microsoft Windows 95
- the operating system: Microsoft Windows 98
This article was previously published under Q300920 SYMPTOMS
On Windows 95 or Windows 98, when you are installing files with long file names that are already running in memory, the files will be saved to Wininit.ini and the system will reboot after the installation. After the reboot, the files included in Wininit.ini will be copied using the default short file name format by Wininit.exe. The installed application may not run because it cannot find the files it is looking for if it expects the long file name format.
CAUSE
Windows 95 and Windows 98 use Wininit.ini to move, replace, or delete files that are currently in use. Wininit.ini is processed by Wininit.exe before the protected mode disk system is loaded. Long file names are only available when the protected mode disk system is running. This problem is caused by a limitation in Wininit.exe that does not support the long file name format. This issue is addressed in Windows NT and Windows 2000 because these operating systems support the use of the Win32 API MoveFileEx that supports long file names.
RESOLUTION
There are two possible ways to work around this problem. The first is: before the installation takes place, make sure that all the files that will be installed with long file names are not in use, so that the Installer will able to replace them using the long file name format.
The other way to work around this problem is to write a custom action in the .msi file. The custom action will do the file copy rather than letting the Wininit.ini do it. Use the custom action to copy files to a temporary directory and write an entry to the RunOnce key in the registry that will call a utility (a program or a script) that will copy the files to the correct folder after the reboot.
STATUS
This behavior is by design.
REFERENCESFor additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
140570 HOWTO: Move Files That Are Currently in Use
Modification Type: | Major | Last Reviewed: | 12/15/2003 |
---|
Keywords: | kbprb KB300920 |
---|
|