MSFN Forum: HFSLIP does not register UiAutomationCore.dll (in KB2564958) - MSFN Forum

Jump to content


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

HFSLIP does not register UiAutomationCore.dll (in KB2564958) Rate Topic: -----

#21 User is offline   Explorer09 

  • Member
  • PipPip
  • Group: Members
  • Posts: 132
  • Joined: 12-September 11

Posted 02 November 2012 - 07:42 PM

BTW, I would like to write a patch to the HFSLIP code, but its coding style is so poor that I don't know where to patch.


#22 User is offline   Explorer09 

  • Member
  • PipPip
  • Group: Members
  • Posts: 132
  • Joined: 12-September 11

Posted 03 November 2012 - 07:26 PM

Am I too late to reply to these two posts? Anyway...

View PostMim0, on 04 July 2012 - 04:36 AM, said:

View PostGeej, on 03 July 2012 - 07:05 AM, said:

Without the registry info, I feel it is incomplete.
Also Automatic update might query the registry to determine what hotfix is currently installed.
But it's consistent. In general there is no uninstall-info or hotfix-info if you make a Windows-XP-CD with HFSLIP (or do I miss something?). So I would not prefer this but you could use a reg-file (in HFSVCPACK).
Microsofts automatic update doesn't need this info for Windows XP (but they changed it a long time ago for Office 2003 - for Office 2003 this registry-info is needed now).

Just for the info. The automatic update (and Windows Update too) in Windows XP (x86) needs only this info
"HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix\KBxxxxxxx","Installed"
to see whether these updates are installed:
KB961118, KB968389, KB2570947, KB2603381, KB2659262, KB2686509

For other updates, the "Installed" registry can be deleted without problems. In fact I do so in my slipstreamed disc.

View PostMim0, on 04 July 2012 - 04:36 AM, said:

View Posttomasz86, on 03 July 2012 - 08:06 AM, said:

...
and add the three sections present in this update like this:

ECHO>>SOURCESS\I386\HFSLP!HFSLP!.INF AddReg=Product.Add.Reg,keys.add,MSI.AddReg,Actsetup.Reg,User.AddReg,Base.IE.AddReg,Common.Add.Reg,AppCompatSetup.reg,NoPrompt.AddReg,RegisterActiveSetup,Reg.WPD,MTP.AutoPlayRegistration,reg.devices,Reg.Codecs,Fraunhofer.Reg,V9Reg.Core,V9Reg.Core.AddOnly,V9Reg.Univ,WMP.ARP,V9.RegPUI,WMPAddReg.PUI,WMPAddReg.OSPUI,V9Reg.XP,WMP.SPAD,WMP.Reg.IEHard,Reg.WMDMHandler,General.Add.Reg,OleAcc.Add.Reg,UIACore.Add.Reg

Does this work for this problem here? Without negative side effects?

Is this (maybe with a further ini-section-name) also a solution for this: nLite misses a registry entry when integrating KB2641653 (XP x86)

Yes, it will work without side effects. But it may cause a side effect if you apply this solution on my thread about KB2641653.
The reason is that the KB2641653 case is a conditional AddReg entry.

#23 User is offline   tomasz86 

  • http://www.windows2000.tk
  • PipPipPipPipPipPipPipPip
  • Group: Members
  • Posts: 2,220
  • Joined: 27-November 10
  • OS:Windows 2000 Professional
  • Country: Country Flag

Posted 03 November 2012 - 10:45 PM

View PostExplorer09, on 03 November 2012 - 07:26 PM, said:

Yes, it will work without side effects. But it may cause a side effect if you apply this solution on my thread about KB2641653.
The reason is that the KB2641653 case is a conditional AddReg entry.

Is this registry entry present at all in a clean system? Correct me if I'm wrong but I think that it's not. Therefore you can safely always add the registry settings from KB2641653 when it's slipstreamed.

#24 User is offline   Explorer09 

  • Member
  • PipPip
  • Group: Members
  • Posts: 132
  • Joined: 12-September 11

Posted 04 November 2012 - 10:26 AM

Okay, I finally understood the code, and made a patch for it.

Here it is: (in unified diff format)
--- old/hfslip-1.7.10_beta_J_v10.cmd	2012-08-25 17:27:08.000000000 +0800
+++ new/hfslip-1.7.10_beta_J_v10.cmd	2012-11-04 23:39:23.343750000 +0800
@@ -2392,6 +2392,11 @@
     ECHO>>WORK\HFSSDF.TXT MUAuth.cab=1&ECHO>>WORK\HFS_SOFTDIST.TXT AuthCabs\7971f918-a847-4430-9279-4a52d1efe18d\MUAuth.cab,MUAuth.cab
     )
 )
+IF EXIST WORK\I386E\uiautomationcore.dll (
+    REN "WORK\I386E\uiautomationcore.dll" uiacore.dll
+    ECHO>>SOURCESS\I386\TXTSETUP.SIF uiacore.dll = 1,,,,,,,2,0,0,uiautomationcore.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,uiacore.dll
+    ECHO>>WORK\HFSLIPCMDP1.TXT regsvr32.exe /s %%SYSTEMROOT%%\system32\uiautomationcore.dll
+)
 IF EXIST WORK\I386E\updroots.exe ( 
         IF EXIST WORK\I386E\authroots.sst ( 
                 REN WORK\I386E\authroots.sst authroot.sst 



For those who don't know what this patch does, here's some brief explanation:

These 5 lines are going to be added in the :POSTHFX section of the HFSLIP. The :POSTHFX section includes rules to handle unusual MS updates and hotfixes. This section is run before HFSLIP copies the disc content from SOURCE to SOURCESS directory.

These 5 new lines handles the special file "uiautomationcore.dll" by doing these:
1. Rename "uiautomationcore.dll" to "uiacore.dll" (see post #18 and #19 for why)
2. Write to TXTSETUP.SIF and DOSNET.INF to note the presence of "uiacore.dll". (The file does not exist in the original Win XP or 2003)
3. Add a command to run this during the Windows installation:
regsvr32.exe /s %SYSTEMROOT%\system32\uiautomationcore.dll

This line is in "WORK\HFSLIPCMDP1.TXT", which will be copied and appended to "SOURCESS\I386\SVCPACK\HFSLIP.CMD" at the later part of HFSLIP.

Note:
This patch does not work with KB2564958-x64 update! The update for x64 has additional files that needs to be handled, and I don't know how to write code for that.

EDIT: Perhaps this one will work also:

--- old/hfslip-1.7.10_beta_J_v10.cmd	2012-08-25 17:27:08.000000000 +0800
+++ new/hfslip-1.7.10_beta_J_v10.cmd	2012-11-05 08:45:29.953125000 +0800
@@ -2392,6 +2392,11 @@
     ECHO>>WORK\HFSSDF.TXT MUAuth.cab=1&ECHO>>WORK\HFS_SOFTDIST.TXT AuthCabs\7971f918-a847-4430-9279-4a52d1efe18d\MUAuth.cab,MUAuth.cab
     )
 )
+IF EXIST WORK\I386E\uiautomationcore.dll (
+    REN "WORK\I386E\uiautomationcore.dll" uiacore.dll
+    ECHO>>SOURCESS\I386\TXTSETUP.SIF uiacore.dll = 1,,,,,,,2,0,0,uiautomationcore.dll&ECHO>>SOURCESS\I386\DOSNET.INF d1,uiacore.dll
+    ECHO>>WORK\NSFREGt.TXT uiautomationcore.dll
+)
 IF EXIST WORK\I386E\updroots.exe ( 
         IF EXIST WORK\I386E\authroots.sst ( 
                 REN WORK\I386E\authroots.sst authroot.sst 


This post has been edited by Explorer09: 04 November 2012 - 06:47 PM


Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • You cannot reply to this topic

2 User(s) are reading this topic
0 members, 2 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2013 msfn.org
Privacy Policy