Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Changing Office XP/2003 installation sequence


4 replies to this topic

benners

benners
  • Full Members
  • 4 posts

Posted 26 October 2008 - 17:02

I am trying to add some registry entries for Office XP and 2003 to the installation routine. I have used the ORK to create an MST with the registry entries and although these get imported during the setup they are deleted by the PublishProduct action.

I have also tried adding the entries directly into the Registry table and these are also added but deleted by the PublishProduct action. What I would like to know is if there would be any serious or non serious detriment to the installed package if I were to change the WriteRegistryValues action to after the PublishProduct action?. Does anybody know what PublishProduct does that may delete these entries, perhaps I could just alter that specific part and leave the sequence as is?.

I have changed the sequence manually and the install goes OK but without fully testing each package I cannot be sure it is recommended.

The key I am trying to add entries to is
CODE
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\Office GUID here'


Thanks

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 27 October 2008 - 09:09

IIRC, the Installer engine deletes the key first then rewrites the entries for the product in question.

I guess you're trying to add the entries using the Registry table? You'll need to use a Custom Action instead, either calling REG.EXE or RegEdit to merge a .REG file or, my preferred solution, use a script of some kind. I prefer script because they can be authored to test for errors at each step and branch appropriately. There's a rather nice Registry class available on JSWare which will do everything you might need.
- Don't know why 'x' happened? Want to know why 'y' happened? ProcMon will tell you.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.

benners

benners
  • Full Members
  • 4 posts

Posted 27 October 2008 - 13:04

QUOTE (VBScab @ 2008-10-27 09:09)
IIRC, the Installer engine deletes the key first then rewrites the entries for the product in question.

I guess you're trying to add the entries using the Registry table? You'll need to use a Custom Action instead, either calling REG.EXE or RegEdit to merge a .REG file or, my preferred solution, use a script of some kind. I prefer script because they can be authored to test for errors at each step and branch appropriately. There's a rather nice Registry class available on JSWare which will do everything you might need.

Thanks for the reply. I have used a CA that called regedit to import a reg file that included the entries I wanted to import, but if the setup is cached to the MSOCACHE folder the reg file isn't copied over unless I edit the corresponding xml file in FILES\SETUP folder, seems a long winded way of doing it.

I am surprised the MS way using the ORK and creating an MST doesn't work for these particular entries. I may look into adding the reg file to the binary stream so it is always extracted by the msi regardless of where it is run from.

Do you know if it is possible to stop the PublishProduct action from deleting values from the key in my first post?.

I will look at the link you sent and see if it can do what I require, thanks again.

VBScab

VBScab
  • Full Members
  • 436 posts

Posted 27 October 2008 - 16:36

QUOTE (benners @ 2008-10-27 12:04)
Do you know if it is possible to stop the PublishProduct action from deleting values from the key in my first post?

I wouldn't imagine it is possible, no. Not unless you fancy rewriting MSI.DLL...

Using the Binary table sounds like a pragmatic solution. I have to wonder, though, why you need to write data to that particular key, given that the entire registry is at your disposal.

Edited by VBScab, 27 October 2008 - 16:37.

- Don't know why 'x' happened? Want to know why 'y' happened? ProcMon will tell you.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.

benners

benners
  • Full Members
  • 4 posts

Posted 27 October 2008 - 16:52

QUOTE (VBScab @ 2008-10-27 16:36)
QUOTE (benners @ 2008-10-27 12:04)
Do you know if it is possible to stop the PublishProduct action from deleting values from the key in my first post?

I wouldn't imagine it is possible, no. Not unless you fancy rewriting MSI.DLL...

Using the Binary table sounds like a pragmatic solution. I have to wonder, though, why you need to write data to that particular key, given that the entire registry is at your disposal.

I lack the knowledge for the dll edit and I doubt it would be a very good solution for me :-)
The reason why I am writing to that particular key is I am integrating the service packs and updates for each Office version into the original MSI so that after installation it is always up to date. Everything shows as up to date on the Office update page but Microsoft Update lists all the hotfixes as required.

The registry entries are for Microsoft Update (MU) so that any updates integrated into the msi are not flagged as required. When updating via MU the entries are the only differences I can see that are being made, besides some temp files. I can also add the keys to the Registry2 table whose custom action gets called after PublishProduct so they stick, but Office XP does not have this particular table and I would like a solution that is applicable to all office versions pre 2007.