Jump to content

Windows Installer 4.5 Integration Error


qwertyforsure

Recommended Posts

Hi! I am trying to integrate Windows Installer 4.5 with nLite directly into my Windows XP Portuguese source, but I always get this error "KB942288 - Hotfix integration error". What is interesting, at least for me :P, is that for Windows XP English source I don't get any error and nLite integrates it just fine. Anyone as an idea why this happens? Hope you can help! Thank you!

Link to comment
Share on other sites


qwertyforsure, please attach (not paste) your Last Session.ini. I assume you used the Portuguese version of KB942288. Make sure to always start with a fresh copy of your CD files/folders, do all your work in one nLite session and integrate only one SP. Enjoy, John.

Link to comment
Share on other sites

Hi John, thanks for the reply! My source is a fresh and clean install of Windows XP Home Edition Portuguese version with SP2 already included. With nLite, last version, I integrated SP3 and only tried to integrate Windows Installer 4.5, nothing else. I think the exe file is language neutral so, it is the same for all language versions of Windows XP. Thank you!

_ltima_Sess_o.ini

Link to comment
Share on other sites

qwertyforsure, try this one. Enjoy, John.

EDIT: I looked some more and the DL is the same as the English one. I DLed it and the size is 3.17 MB (3,327,000 bytes) and the MD5 is 48447E0BA4560CD558EDDB5F5B0809E. Please check these against yours. If they are OK, then you should try to integrate the update after you install Windows. You can also do it out of the RunOnce exit in nLite-Unattended. John.

Edited by johnhc
Link to comment
Share on other sites

Hi John! In fact the download is the same for all languages. Also, if you extract the exe installer file you are able to see a folder called "langspecific" that has localized language folders inside and portuguese is contempled with the "ptg" folder. There is another folder called "sp3qfe" that has the Windows Installer files. I really don't understand why nLite cannot integrate it under other Windows language version than english. Have any idea why this happens?

Installing it via RunOnce, do I need to reboot or I can use the /norestart switch i.e. if I continue to Windows, there is no problem for not having rebooted after the installation? Thank you!

Link to comment
Share on other sites

qwertyforsure, I do not know why nLite won't integrate it. I think nuhi is the only one to answer that question, but perhaps some one will reply. Yes you should use the /NoRestart switch. You will need to restart before you use the MSI, but I would let Windows finish its setup. Enjoy, John.

Link to comment
Share on other sites

Try direct integration with this switch: WindowsXP-KB942288-v3-x86.exe /integrate:PATH\TO\YOUR\I386\DIR

SAMPLE: WindowsXP-KB942288-v3-x86.exe /integrate:D:\AIO_DVD\WINXP\PRO WHERE PRO IS PARENT DIR FOR I386

Link to comment
Share on other sites

johnhc, thank's for the replies!

belivakov, I tried what you said and Setup gives me the following error:

"An error occurred while attempting to integrate this software update package. Verify that the architecture, language, and service pack level of this software update are valid for the target distribution folder."

I did the same to an English source and integrated successfully. Well, since the exe file is right for my architecture and that SP3 is already slipstreamed into my Windows source I guess that the problem is about language specifications. But if I install it after having Windows OS Portuguese version installed on my PC, I don't have any kind of problems. Any ideas? Thank you!

Edited by qwertyforsure
Link to comment
Share on other sites

qwertyforsure, I am out of ideas. Was the error message from nLite the same as the direct integration? It seems that nLite uses direct integration of SPs and perhaps it uses it for hot fixes. Enjoy, John.

Link to comment
Share on other sites

qwertyforsure, I have an experiment for you, if you are willing to try it. I suspect that the wrong language folder is being used (perhaps ptb) during /integrate. My experiment: Extract the hot fix package then go into the ptg folder and execute the update.exe file (in update folder) with the same parameters as belivakov gave earlier. Here is the article where I got the switches for update.exe. Please let me know what you think. Enjoy, John.

EDIT: There is also a /log:path switch. This will allow you to see the error that is occurring. You can also use the switch on the original install file. John.

Edited by johnhc
Link to comment
Share on other sites

Breezer, when you are going to make the download of the installer from the Microsoft site you are able to choose the language type but, no matter what language you choose the file is always the same.

John, it seems to be a great idea. As soon as I can I will try it and post the results here.

Thank you!

Link to comment
Share on other sites

I did what johnhc said but I was not successful since integration is not possible with the extracted files, only with the original file. I then tried again integrating "WindowsXP-KB942288-v3-x86" with the parameters given by belivakov but with the log switch also, as johnhc suggested. (In the command line by doing "WindowsXP-KB942288-v3-x86 /?" we are able to see all the available switches for the installer package.)

I could now see the error wich was causing the direct integration and consequently nLite to fail:

(...)Lang mismatch in c:\5da38a2b279d609d7a40cc4d3d47\update\update_SP3QFE.inf: 9 != 16.

As we all suspected the error was caused by language mismatch (see "Error_Log" file for more details). I searched around and discovered this link from Microsoft with a solution for the problem:

http://support.microsoft.com/kb/915724

- All you have to do is to locate the Hivesys.inf file in the i386 folder of the Windows XP image and open it with Notepad;

- At the bottom of the Hivesys.inf file locate the following text entry: INSTALL_LANGUAGE="xxxx”

(in my case: INSTALL_LANGUAGE="0816")

- Since the installer complained about 9 being different from 16, I modified it to: INSTALL_LANGUAGE="0809" (modifying to "089" won't work) and saved it;

- Tried to integrate it again and did it successful both with /integrate switch (see Success_Log) or nLite;

- Tested both methods in VirtualBox and everything went just fine.

Hope this can help others who have other Windows language version than english and are possibly having the same issue.

I would like to thank all of you guys who tried to help me, specially johnhc who didn´t give up. Without your help I would not have arranged a solution for the problem. Thank you!

Error_Log.txt

Success_Log.txt

Edited by qwertyforsure
Link to comment
Share on other sites

Great work, qwertyforsure! Thanks for the experiment and reporting. The funny thing is that x09 is English and x16 is Portuguese. If you run msiexec.exe with /? parameters or no parameters, is the language English or Portuguese? If you change the x0816 to x0809, can you run nLite and integrate 4.5 or do all the other hot fixes fail? The MS article says if there is an error a Spslpsrm.log file will be created. Did you look for this file and if so, where is it? I need to look a little more, but I am giving up for tonight - this is beginning to be fun. Enjoy, John.

Link to comment
Share on other sites

Hi johnmc, have been testing these days. I will try to report it all:

- Changing the code from x0816 to x0809:

1. Been able to integrate MSI 4.5;

2. Slipstreaming WMP11 plus all it's hotfixes with WMP11 Slipstreamer, had no issues;

3. Slipstreaming WMP11 with the Slipstreamer went well but integrating it's hotfixes with nLite, some localized hotfixes failed, not all of them, but via command line all localized hotfixes failed;

4. Integrating, for example, Windows Package Installer "WindowsXP-KB898461-x86-PTG", portuguese version, failed to integrate with nLite and via command line, so as other portuguese hotfixes;

Conclusion:

All those localized hotfixes that can't be directly integrated i.e. can only be with the regular integration method, nLite reports error. Integrating via command line they will all fail since it is used the regular integration method for all of them, even the one's that nLite directly integrates. With WMP11 Slipstreamer had no issues with it's hotfixes because they are all slipstreamed into the Windows source.

Finally, in order to get it all working:

1. Changed "INSTALL_LANGUAGE" code in the Hivesys.inf file;

2. Integrated MSI 4.5 via command line;

3. Returned the code to it's original;

4. And then used nLite for all the rest. I even add WindowsXP-KB958655-x86-ENU hotfix (updates the msi.dll file from 4.5.6001.22159 version to 4.5.6001.22299 version), which nLite directly integrates, and at the end everything was working. Even msiexec was in portuguese language.

I hope I had been clear enough! ;) Any question just ask, if it is needed I will edit the post! Cheers

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...