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: -----

#1 User is offline   Explorer09 

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

Posted 18 May 2012 - 07:46 PM

I tested this on HFSLIP 1.7.10 beta J v8, slipstreaming updates of Windows XP Professional (x86).

It seems like HFSLIP does not recognize the registry entries in the [OleAcc.Add.Reg] and the [UIACore.Add.Reg] sections in KB2564958 "update.inf" file. This makes the file UiAutomationCore.dll unregistered in the slipstreamed Windows.

(AFAIK, it is fine to ignore the [OleAcc.Add.Reg] section, because the Windows setup will add the entries automatically, when registering Oleacc.dll.)

To check this bug:
1. Let HFSLIP slipstream the KB2564958 update.
2. Install the HFSLIP'ed Windows XP on a computer or a virtual machine.
3. Open regedit, and find each of the following registry keys:
HKCR,AppID\{60a90a2f-858d-42af-8929-82be9d99e8a1}
HKCR,CLSID\{60a90a2f-858d-42af-8929-82be9d99e8a1}
HKCR,CLSID\{6e29fabf-9977-42d1-8d0e-ca7e61ad87e6}
HKCR,CLSID\{ff48dba4-60ef-4201-aa87-54103eef594e}
HKCR,Interface\{146C3C17-F12E-4E22-8C27-F894B9B79C69}
HKCR,Interface\{40CD37D4-C756-4B0C-8C6F-BDDFEEB13B50}
HKCR,Interface\{4ece4541-81d4-44ac-9df6-d199ef66f904}
HKCR,Interface\{C270F6B5-5C69-4290-9745-7A7F97169468}
HKCR,Interface\{E81D1B4E-11C5-42F8-9754-E7036C79F054}
HKCR,TypeLib\{8acc2016-04a3-4343-b8e1-1870e35d6a41}
HKCR,TypeLib\{944DE083-8FB8-45CF-BCB7-C477ACB2F897}

Expected result: All of these keys should exist, and contain values.
Actual result: They are all missing.

Despite this little bug, Windows Update can still detect the presence of the UiAutomationCore.dll, and the user won't be notified that KB2564958 did not install completely.

I have a simple workaround for this. On the installed, HFSLIP'ed Windows, you can run this command to have the DLL registered correctly:
regsvr32.exe uiautomationcore.dll


Or, on the HFSLIP'ed disc, put this line in the [HFSLIPREG] section of "I386\HFSLIPWU.INF":
HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce",KB2564958,,"regsvr32.exe /s uiautomationcore.dll"



#2 User is offline   Geej 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 634
  • Joined: 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag

Posted 25 May 2012 - 01:17 AM

Thanks for the info.

I just make a small workaround using KB2564958's update.inf
Rename update.inf to KB2564958RegUpdate.inf
Comment out Line 1 to line 51
Then replace line 53 (which is [ProductInstall.GlobalRegistryChanges.Install] )
with below 3 lines.

[Version]
  Signature                 = "$Windows NT$"

[DefaultInstall]


Put KB2564958RegUpdate.inf in HFSVCPACK folder
This will register the dlls as well as add an info entry to Uninstall & Hotfix info as defined in the inf to the registry.
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB2564958
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB2564958


There is a missing %HOTFIX% in [Strings] section
I just add
HOTFIX                = "Hotfix"

in the [Strings] section

#3 User is offline   Explorer09 

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

Posted 01 June 2012 - 03:20 AM

View PostGeej, on 25 May 2012 - 01:17 AM, said:

There is a missing %HOTFIX% in [Strings] section
I just add
HOTFIX                = "Hotfix"

in the [Strings] section


The update.inf inside KB2564958 seems to be incomplete. Just look at the last line in the file. There's a substitute character, which mean that some text should be cut off after this mark.

I wonder if Microsoft noticed this when building that inf file?

This post has been edited by Explorer09: 01 June 2012 - 03:20 AM


#4 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 01 June 2012 - 07:58 AM

They are probably created automatically and M$ doesn't even check them very thoroughly. There are similar bugs in older Win2k updates too.

#5 User is offline   Geej 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 634
  • Joined: 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag

Posted 02 June 2012 - 07:47 PM

tomasz86 is right, MS inf sometime also contains bugs.

KB2564958 when parsed by HFSLIP, seems to miss [ProductInstall.GlobalRegistryChanges.Install] section.

Below is KB2564958 when parsed by HFSLIP

You will notice
[DefaultInstall]
AddReg=Product.Add.Reg

that [Product.Add.Reg] is missing after that. Hence KB2564958 will failed to register the dll.

With or w/o sub character, if you modify accordingly in my 2nd post, it will also work.

Attached File(s)



#6 User is offline   Acheron 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 935
  • Joined: 28-June 04
  • OS:XP Pro x86
  • Country: Country Flag

Posted 18 June 2012 - 04:23 AM

If registering uiautomationcore.dll is the only problem when slipstreaming the hotfix the following lines could be added to HFSLIP :POSTHFX section.

::KB2564958
IF EXIST WORK\I386E\uiautomationcore.dll (
	ECHO>>WORK\NSFREGt.TXT uiautomationcore.dll
)


This adds the registration of uiautomationcore.dll to the HFSLIPWU.INF file :hello:

#7 User is offline   Mim0 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 702
  • Joined: 23-September 08

Posted 03 July 2012 - 12:27 AM

View PostAcheron, on 18 June 2012 - 04:23 AM, said:

If registering uiautomationcore.dll is the only problem when slipstreaming the hotfix the following lines could be added to HFSLIP :POSTHFX section.

::KB2564958
IF EXIST WORK\I386E\uiautomationcore.dll (
    ECHO>>WORK\NSFREGt.TXT uiautomationcore.dll
)


This adds the registration of uiautomationcore.dll to the HFSLIPWU.INF file :hello:
I think, this is a pretty nice solution. But instead of managing this in the HFSLIP :POSTHFX section I will try to use a post-command:

HFSLIP_POST_KB2564958.cmd (in HFTOOLS)
@ECHO off
REM ---------------------------------------------------------------------------------
REM This batch fixes a problem caused by the incorrect updated.inf of KB2564958
REM
REM Because of this, the uiautomationcore.dll will not be registered.
REM
REM Put this script to HFTOOLS to avoid this problem.
REM ---------------------------------------------------------------------------------

IF EXIST WORK\I386E\uiautomationcore.dll (
  ECHO>>WORK\NSFREGt.TXT uiautomationcore.dll
)


after a successfull test I will add this to the update-list / file-checker

#8 User is offline   Geej 

  • Senior Member
  • PipPipPipPip
  • Group: Members
  • Posts: 634
  • Joined: 01-January 08
  • OS:XP Pro x86
  • Country: Country Flag

Posted 03 July 2012 - 07:05 AM

Hi Mimo
Could you also include in your script (HFSLIP_POST_KB2564958.cmd) the info if KB2564958 is slipped?
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB2564958 
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB2564958

Without the registry info, I feel it is incomplete.
Also Automatic update might query the registry to determine what hotfix is currently installed.

Cheers

#9 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 July 2012 - 08:06 AM

I think that here there is no problem in the update itself. It's a bug (limitation) in HFSLIP which makes it parse the update.inf incorrectly.

HFSLIP uses a "fixed" list of AddReg entries. As easily expected, this leads to problems when nonstandard names are used as in this update. To fix the problem you need to modify this line in HFSLIP:

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

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

This is why using fixed names is really bad...

This post has been edited by tomasz86: 03 July 2012 - 08:08 AM


#10 User is offline   tommyp 

  • MSFN Addict
  • Group: Developers
  • Posts: 1,675
  • Joined: 09-January 04
  • OS:none specified
  • Country: Country Flag

Posted 03 July 2012 - 10:10 AM

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

This is why using fixed names is really bad...


Fixed names can't be too bad, that line in the script has been there for years! Blame MSFT for force feeding you a new binary & blame MSFT for changing their INF structure after all these years. If WU just wants that file registered, just put it into hfexpert\codecs and call it a day.

#11 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 July 2012 - 10:54 AM

View Posttommyp, on 03 July 2012 - 10:10 AM, said:

Fixed names can't be too bad.

They may not be bad per se but the problem is that because so many things are hard coded in the script there always has to be someone adjusting it to support new nonstandard updates. "Adjusting" in this case means adding more fixed names ;)

I'd never rely on M$ here :ph34r:

This post has been edited by tomasz86: 03 July 2012 - 10:54 AM


#12 User is offline   Mim0 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 702
  • Joined: 23-September 08

Posted 04 July 2012 - 04:36 AM

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

Could you also include in your script (HFSLIP_POST_KB2564958.cmd) the info if KB2564958 is slipped?
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\KB2564958 
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\KB2564958

I don't think that registry-entries could be set with a HFSLIP-POST-command. But an additional reg-file could do that job.

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).

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)

This post has been edited by Mim0: 04 July 2012 - 04:38 AM


#13 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 04 July 2012 - 08:46 AM

@Mim0

I haven't tested it but I'm sure that adding "win32k.Add.Reg.Session" to the line:

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,win32k.Add.Reg.Session

will solve the problem.

This kind of change shouldn't cause any side effects.

#14 User is offline   Mim0 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 702
  • Joined: 23-September 08

Posted 04 July 2012 - 03:39 PM

Hi guys,

I published a new HFSLIP on my little web-site with the hint from tomasz86 regarding USP/W2K, Thx to him!!!

But... ths problem described here and it's solution (previous posting) needs at least some tests. Unfortunately I have the next days no time for this.

If anyone could test this (and probably also regarding this : nLite misses a registry entry when integrating KB2641653 (XP x86) ) it would help me. Otherwise I will test it later. :)

CU, Mimo

#15 User is offline   My2GirlsDad 

  • Junior
  • Pip
  • Group: Members
  • Posts: 97
  • Joined: 28-December 08
  • OS:Vista Home Premium x86
  • Country: Country Flag

Posted 04 July 2012 - 08:52 PM

View PostMim0, on 04 July 2012 - 03:39 PM, said:

Hi guys,

I published a new HFSLIP on my little web-site with the hint from tomasz86 regarding USP/W2K, Thx to him!!!

But... ths problem described here and it's solution (previous posting) needs at least some tests. Unfortunately I have the next days no time for this.

If anyone could test this (and probably also regarding this : nLite misses a registry entry when integrating KB2641653 (XP x86) ) it would help me. Otherwise I will test it later. :)

CU, Mimo


Mimo,

I can't find the new HFSLIP on your page. Did you forget to upload it?

Thank you.

M2GD

#16 User is offline   Mim0 

  • Friend of MSFN
  • PipPipPipPipPip
  • Group: Members
  • Posts: 702
  • Joined: 23-September 08

Posted 05 July 2012 - 01:27 AM

View PostMy2GirlsDad, on 04 July 2012 - 08:52 PM, said:

I can't find the new HFSLIP on your page. Did you forget to upload it?
It's in table 6 of the update-list for Windows XP and also on the HFSLIP-downloads page. :)

And here is the link: HFSLIP 1.7.10 beta J v9

Mimo

#17 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 05 July 2012 - 01:40 AM

By the way, Mim0, the fix for USP5 is not only for the newer versions as you wrote:

Quote

Fixed handling of newer USP5-versions for Windows 2000

but even the last version of USP5.1 from 2006 is affected by it :whistle:

#18 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 26 October 2012 - 04:03 AM

View PostMim0, on 03 July 2012 - 12:27 AM, said:

I think, this is a pretty nice solution. But instead of managing this in the HFSLIP :POSTHFX section I will try to use a post-command:

HFSLIP_POST_KB2564958.cmd (in HFTOOLS)
@ECHO off
REM ---------------------------------------------------------------------------------
REM This batch fixes a problem caused by the incorrect updated.inf of KB2564958
REM
REM Because of this, the uiautomationcore.dll will not be registered.
REM
REM Put this script to HFTOOLS to avoid this problem.
REM ---------------------------------------------------------------------------------

IF EXIST WORK\I386E\uiautomationcore.dll (
  ECHO>>WORK\NSFREGt.TXT uiautomationcore.dll
)


after a successfull test I will add this to the update-list / file-checker

Hey Mimo,

Have you done anything about this? I think that more should be done with this file. In its current form it doesn't follow the 8.3 filename format and therefore slipstreaming it will break a DOS based installation (WINNT.EXE). It should be renamed to something like "uiaucore.dll" and then renamed to its original name during Windows setup. HFSLIP should add the required lines to TXTSETUP.SIF in order to do it, ex.:

[SourceDisksFiles]
uiaucore.dll = 1,,,,,,,2,0,0,uiautomationcore.dll



#19 User is offline   Explorer09 

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

Posted 01 November 2012 - 12:11 AM

View Posttomasz86, on 26 October 2012 - 04:03 AM, said:

...
In its current form it doesn't follow the 8.3 filename format and therefore slipstreaming it will break a DOS based installation (WINNT.EXE). It should be renamed to something like "uiaucore.dll" and then renamed to its original name during Windows setup.
...


The inf file in KB2564958 uses the abbreviation "UIACore". Perhaps we should rename to "UIACore.dll" instead of "uiaucore.dll"?

#20 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 01 November 2012 - 12:55 AM

Of course, it can be "UIAcore" ;) It doesn't matter as long as it's 8.3.

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