Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

W2000 Deployment Issue: System Event 64001 4

Status
Not open for further replies.

Nimroduk

Programmer
Aug 10, 2006
77
GB
Hi,

I have an application that has been developed on Windows XP SP2. The installation tool is also run on XP SP2 and so picks up the appropriate resources from there.

When I attempt to deploy the application to a W2k server the installation works but the application does not run/behave as expected.

Investigation into the problem has uncovered a lot of 64001 events in the system log on the W2k machine. e.g.

Code:
File replacement was attempted on the protected system file d:\winnt\system32\olepro32.dll. This file was restored to the original version to maintain system stability. The file version of the bad file is 5.1.2600.2180, the version of the system file is 5.0.4522.0


Is this because the XP versions of the DLLs are not compatiable with W2K ? or is a group policy/permission setting causing my problem ?

Does anyone know a fix ?
 
Firstly; re the event log
Your installation package appears to be trying to overwrite later version support files with earlier ones - It should not be doing that - check the settings for each file; there should be an 'install only if later version' option in there somewhere.
 
I thought that too, to start with but it is definately the other way around :/

I've discovered that part (possibly all) of my problem is that I am trying to force versions of system files that are protected by WFP during the install.

I have found the following MSDN article that defines which versions of core VB6 runtime files to distribute. As you said above these should only be installed if they are newer:

That solves all but one of my WFP event messages. The final one is for an MDAC file msdatsrc.tlb. I am now thinking that I should not be distributing the tlb but rather I should be determining whether or not to install MDAC in its entirety.

I'm still open to other suggestions and POVs though :)
 
I'm pretty sure that tlb files should not be distributed; others here may confirm...
 
<I've discovered that part (possibly all) of my problem is that I am trying to force versions of system files that are protected by WFP during the install.
Yes, me too. :)

<As you said above these should only be installed if they are newer

"Protected system files" will not be installed whether newer or older.

The point is that Microsoft realized by Win2000 that systems quickly fell into "DLL Hell" if applications were allowed to upgrade versions of DLLs used by the system in whatever haphazard way they wanted to. Too many interdependencies between DLLs and the like. So they made certain files protected, so that they could only be upgraded using service packs. However, deployment programs don't usually recognize protected files (PDW is a particular example of this) so they include them in their dependency lists and CAB files, with results like the ones you're describing.

For more information, and some possible workarounds, see thread222-561173.

HTH

Bob
 
>The point is that

e.g. in the case of OlePro32.dll, you are recommended (in the vb6 docs or by inference) to redistribute v 5.0.4275.1 which resides in C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Redist

Your installer will then not attempt to overwrite v 5.0.4522.0 installed with (my) Win 2k, v 5.1.2600.2180 installed with (my 2 systems) XP or v 6.0.6000.16386 installed with (my) Vista; whatever system file protection exists on the target system.

I am currently redistributing v5.0.4517.0 of the file with my vb6 apps which I know to be good with Windows 95 and pre 2k
 
For these protected files you can use MergeModules from MS, which can be included in a Windows Installer package.
The Visual Installer for VS 6, which is a simple IDE tool to create a setup package for Windows Installer, is free from MS, and is useful for the basic, simple setup requirements.

There are Merge Modules for many of the protected files.
The OLEAUT32.MSM Merge Module includes 4 files, one of them being the olepro32.dll, which, if needed, will update the system with no problem.
 
Thanks chaps :)

I'm going to spend today rebuilding the deployment package making use of the components in the VB6Runtime download and also removing the tlb files.

If that doesn't work then I'll look at using a different P&D tool. Its quite a large application so I really would like to avoid having to start again :)

Thanks again :)
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top