» Slack Space
» Doom 3 won't install on 9x/NT4/2003. Here's the fix: (1/1)
| Doom 3 won't install on 9x/NT4/2003. Here's the fix:
Tribus: Greenville, SC
Registered: August 07, 2001
AIM does not support status - click here for the profile.
Mood of the topic. posted August 02, 2004 01:11 Reply With QuoteEdit or Delete Message
Okay guys. Apparently the installer package for Doom III is setup to disallow install to a 1) Windows 2003 and 2) Windows 9x and 3) Windows NT 4.0. While we all know that item 3 really isn't an issue as NT couldn't run this game anyway.... the other two have got a few people ticked off. In an effort to combat this, I have written a vb script that modifies the Windows Installer package "Doom 3.msi" provided on the CD and removes these restrictions.
Below is the code:
'Fixes Doom 3.msi file and allows it to install to Windows 2003 and allows you to run the MSI file directly.
'by darkgamorck aka gamorck. Remember the MSI file must NOT be opened by any process while this code is running.
'To execute this code save it into a VBS file. And drag the Doom 3.msi file onto it. This will produce a nice new
'MSI file that enables you to install it anywhere (even on win9x in theory). How you install with this MSI file is
'your own problem. You can reburn a new CD replacing the old MSI file with this new one. Or you can run setup.exe /A
'and administratively copy all of the files to some directly - replace the resulting MSI file in that directory and then
'execute setup that way. Whatever way works for you works for me.
Const msiOpenDatabaseModeReadOnly = 0
Const msiOpenDatabaseModeTransact = 1
Dim argNum, argCount:argCount = Wscript.Arguments.Count
If (argCount < 1) Then
Wscript.Echo "Please supply the name of the msi file to be modified."
' Scan arguments for valid SQL keyword and to determine if any update operations
Dim openMode : openMode = msiOpenDatabaseModeReadOnly
openMode = msiOpenDatabaseModeTransact
' Connect to Windows installer object
Dim installer : Set installer = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer") : CheckError
' Open database
Dim databasePath:databasePath = Wscript.Arguments(0)
Dim database : Set database = installer.OpenDatabase(databasePath, openMode) : CheckError
' Process SQL statements and delete the crap out of this installer!
Dim query, view, record, message, rowData, columnCount, delim, column
Set view = database.OpenView("Delete from LaunchCondition") : CheckError
wscript.echo "Launch Conditions Removed"
Set view = database.OpenView("Delete from InstallExecuteSequence where Action='OnCheckSilentInstall'")
wscript.echo "OnCheckSilentInstall step removed"
Set view = database.OpenView("Delete from Property where Property = 'ISSETUPDRIVEN'")
wscript.echo "Property ISSETUPDRIVEN removed"
Set view = database.OpenView("INSERT INTO Property (Property,Value) VALUES ('ISSETUPDRIVEN',1)")
wscript.echo "Property ISSETUPDRIVEN added"
Dim message, errRec
If Err = 0 Then Exit Sub
message = Err.Source & " " & Hex(Err) & ": " & Err.Description
If Not installer Is Nothing Then
Set errRec = installer.LastErrorRecord
If Not errRec Is Nothing Then message = message & vbLf & errRec.FormatText
It's quite simple really. After executing this you will need to integrate it into the CD or replace the MSI dumped to disk during an Admin network install of the package (setup.exe /A). After this you should be able to install and perhaps even play Doom 3 on any Windows compatible system you wish (though I doubt Windows NT 4.0 will even work and I somewhat doubt that 9x will either).
I hope this helps somebody out there other than myself. Cheers."
» Slack Space
» Doom 3 won't install on 9x/NT4/2003. Here's the fix:
Mark this post as solution (topic starter only)
Reply with quote to post
Delete post (admin only)