Link to home
Start Free TrialLog in
Avatar of mark13
mark13

asked on

Problems with Visual Studios Package and Deployment Wizard

I originally had this problem with Win2k but now I am encountering this problem when I am installing a VB6/Access2k App on a windows 98 2nd Ed workstation using Visual Studios Package and Deployment Wizard.  For some of the files, I am receiving a msgbox stating: "Setup cannot continue b/c some system files are out of date on your system."  It then tells me to click Ok to update the files and restart windows again.  When I do this I receive the same msgbox on the same files.  

Some of the workstations work after I reboot the machine the 3rd or 4th time, but this is unacceptable.  MS article Q191096 was helpful but there are still problems even when I try all there recommendations.  Does anybody recommend any third party solution like Install Shield or Wise or am I missing something in the installation?  I am using VS6 SP5 and win2k.  Thanks in advance.
ASKER CERTIFIED SOLUTION
Avatar of soferstam
soferstam

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of rkot2000
rkot2000

 in my case I removed some system files from setup.



try this :

http://support.microsoft.com/default.aspx?scid=kb;en-us;Q279764

The Package and Deployment Wizard uses a restart to update in-use system files. In Windows 2000, system files are protected and are not updated on the restart. Each subsequent attempt to install the application results in the same error message, and the application cannot complete its installation.

The normal procedure to update Windows 2000 system files is to install the latest service pack. However, in certain situations, the development computer may contain specific system files that have a later version number than those found on Windows 2000. For example, if the setup package was created on a Windows Millennium Edition (Me)-based system or a Windows 2000-based system with a service pack that is later than the target, the PDW may package a higher version than is on the target Windows 2000 system. When this happens, the application setup detects that it needs to install the new system files, and it prompts you to restart the computer. Because Windows 2000 does not allow application installations to replace system files, the application setup detects the old system files again when it restarts.

The file that causes this problem is Oleaut32.dll.

PRB: Multiple "System Files Are Out of Date" Errors (Q191096)

The information in this article applies to:


Microsoft Visual Basic Professional Edition for Windows, versions 5.0 , 6.0
Microsoft Visual Basic Enterprise Edition for Windows, versions 5.0 , 6.0

SYMPTOMS
When you install a Microsoft Visual Basic application, you may receive the following message:

Setup cannot continue because some system files are out of date on your system. Click OK if you would like setup to update these files for you now. You will need to restart Windows before you can run setup again. Click cancel to exit setup without updating system files.
After Windows restarts and you begin the installation again, the error message appears again.

NOTE: This occurs with either the Microsoft Visual Basic 5.0 Application Setup Wizard (ASW) or the Microsoft Visual Basic 6.0 Package and Deployment Wizard (PDW).



CAUSE
Both installation programs (ASW and PDW) use the same method to delay the replacement of in-use system files until reboot. For any system files that are in use, the new files are saved as temporary files in the Temp folder. In order to replace the existing files with the .tmp files, the system will use the Wininit.ini file on WIN 9x systems. On Windows NT and Windows 2000, the system will call the MoveFileEx function with the MOVEFILE_REPLACE_EXISTING flag. This function places the file replacement instructions in the following registry key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations
If something interferes with this replace and rename operation, these files are not updated. Therefore, once the computer reboots and restarts the installation program, the same error message appears.

There are a number of reasons why this can happen, but the two most common are as follows:
The .tmp files are being deleted.

The Temp folder is on a different drive or partition from the operating system. By default, the operating system is installed to either the Windows or Winnt folder.

RESOLUTION
The following are resolutions to this problem:

Copy the TEMP and TMP environment variables to a folder that is in the same drive partition as the Windows system files. To do this, open a command prompt window and type the following at the prompt:
Set TMP=C:\TEMP
Set TEMP=C:\TEMP
This will save the TEMP and TMP environment variables to a folder named "Temp" that resides on the C: drive.

NOTE: The folder must exist prior to carrying out these steps.

Once these environment variables are set, the application should then install and continue past the message on reboot.


If your Autoexec.bat file contains the following line (or similar):
If exists c:\temp\*.tmp del c:\temp\*.tmp
comment it out by placing "REM" in front of it.


Disable any Anti-virus software (or other memory resident programs) and try running Setup again. Often the best way to accomplish this is to run setup in Safe Mode. It may also be necessary to copy all of the setup files to a temporary folder on the hard drive disk and run Setup.exe from there.


Leftover files from a failed Setup attempt can also cause this problem. If found, delete the msftqws.pdw subfolder and its contents from the Temp folder. Also look in the Windows or Winnt folder for Setup1.exe and any *.CAB files from previous installs, and delete them. This should be done after each failed install.


Some logon scripts can cause this problem, so try to run Setup before logging on to the network.


Make sure you are deploying the same file versions that you are using on your development machine. The wizards have a special folder where they look first for files to package. If found, a file is used from this source instead of the file your system is running.

For Visual Basic 6.0, it is especially important to make sure that you are deploying the proper version of Mdac_Typ.exe. The version of this file should match the Reference to "Microsoft ActiveX Data Objects 2.x Library" in your project. The default locations for this folder are as follows:

For Visual Basic 5.0:
C:\Program Files\DevStudio\VB\setupkit\kitfil32\sys32
For Visual Basic 6.0:


C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist
The system files that may need to be updated are listed in the Bootstrap or Bootstrap Files section of the Setup.lst file created with your package. These files can also be installed separately from self-extracting files found on Microsoft's support web site. Please see the References section for information about obtaining these files.


You can also edit the Setup.lst file. Look in the Setup1 Files or Files section for files to be copied to either $(WinSysPath) or $(WinSysPathSysFile). For example, Msvcrt.dll and Mfc42.dll. You can copy these lines to the end of the Bootstrap or Bootstrap Files section. You must renumber these lines so that the File numbers are sequential, for example "File1=...", File2=..." and so on. If these lines are removed from their original section, the remaining lines must be renumbered to maintain a sequential list.
I have had loads of problems using the Package and Deployment wizard.  So many that I eventually gave up using it.  Fortunately Microsoft does provide a program called Windows Installer which is free and will accept a VB project.  There are even far more options for setting registry settings etc.  It is very easy to use and I have never managed to break it.  I would definately advise you to go down this route.

You can get it from:

For Win NT / 2000:
http://www.microsoft.com/downloads/release.asp?releaseid=32832&NewList=1

For 95 / 98 / ME:
http://www.microsoft.com/downloads/release.asp?ReleaseID=32831
Avatar of mark13

ASKER

thanks for everyones quick response I have had the PRB: Multiple "System Files Are Out of Date" Errors (Q191096) article taped on my cube for the past two days trying each suggestion so I am still looking for other possible answers.  
Avatar of mark13

ASKER

thanks for everyones quick response I have had the PRB: Multiple "System Files Are Out of Date" Errors (Q191096) article taped on my cube for the past two days trying each suggestion so I am still looking for other possible answers.  
Some files are not included during installation.
For example , you including ocx file which you created earlier ,and in that ocx you are using,let's say,MSComm control.The VB Package program will not suggest you to include MSComm.ocx in this case.The setup will have EXACTLY the same issue on the target machine if there not MSComm registered....
Also you have to modify that package programm to kill any process that are using some of the system files you have to update.After you restart the machine it still can use the file becouse of some running services/schedulers.
Avatar of inthedark
ping
Avatar of mark13

ASKER

soferstam originally you asked what files are having problems,they are two bootstrap files vb6stkit.dll and msvbvm60.dll and about fifty other .ocx and dlls that are used to support either crystal reports developer 8.5 or graphic server.  On occasion after the setup has copied the fifty some files over and I reboot, the setup will copy two more files, the bootstrap files again, and then the setup will work.  I am going to try and modify the setup1.exe and see if this works.

Also every machine that I have come across that has Win98 (not Win98 2nd Ed) does not give the setup any problems.
Sorry can not answer your question.The only article I know which dials with exactly the problem:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;q191096
Actually,it is in your cube..
Avatar of mark13

ASKER

I am still working with customizing the setup this also seems to be everyone's suggestion. Since soferstam was first to recommend, you win.  Thanks for everyones comments.

mark13