| Home | Register | Members | Search | Windows Vista Tips | File Database | Links |
![]() |
| Thread Tools | Display Modes |
|
GlenConway
Guest
Posts: n/a
|
Hi,
Not sure where this post belongs so please excuse me if it’s in the wrong group. I’m trying to use the WUAPILib.dll from Windows Update v5 with VB.NET. I can instantiate it locally fine but what I really need is to be able to do this remotely. My first thought was to use CreateObject: Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", "XP-TEST1") This always returns “ActiveX Cannot Create Object”. It’s worth noting that the XP machine doesn’t have SP 2 on it, I’ve just upgraded WU to v5. This rules out any firewall or enhanced security configuration issues. I thought it may be a DCOM configuration issue but when I looked on the XP box, it looks like the WU library doesn’t support remote instantiation. Perhaps a way around this is to use WMI to instantiate the API locally but can WMI be used as a proxy? Any thoughts or pointers would be greatly appreciated. -- -------------------------------------------------------------- Flarepath Windows Update Analyser - download at http://www.flarepath.com -------------------------------------------------------------- |
|
|
|
|
|||
|
|||
|
|
|
| |
|
David Herman .:MVP:.
Guest
Posts: n/a
|
Glen,
Can you provide more information with regard to what you want to do? That way I may be able to write some sample code etc for you. -David Herman "GlenConway" <> wrote in message news:1EB1222A-F939-4CA2-9BE5-... > Hi, > > Not sure where this post belongs so please excuse me if it's in the wrong > group. > > I'm trying to use the WUAPILib.dll from Windows Update v5 with VB.NET. I > can instantiate it locally fine but what I really need is to be able to do > this remotely. > > My first thought was to use CreateObject: > > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", "XP-TEST1") > > This always returns "ActiveX Cannot Create Object". > > It's worth noting that the XP machine doesn't have SP 2 on it, I've just > upgraded WU to v5. This rules out any firewall or enhanced security > configuration issues. > > I thought it may be a DCOM configuration issue but when I looked on the XP > box, it looks like the WU library doesn't support remote instantiation. > Perhaps a way around this is to use WMI to instantiate the API locally but > can WMI be used as a proxy? > > Any thoughts or pointers would be greatly appreciated. > > -- > -------------------------------------------------------------- > Flarepath Windows Update Analyser - download at http://www.flarepath.com > -------------------------------------------------------------- |
|
|
|
|
|||
|
|||
|
GlenConway
Guest
Posts: n/a
|
David,
Thanks for the reply. I need to be able to extract the update history from a WU v5 machine. As I said below, I can do it locally but I need to be able to do it remotely from a central machine. Previously, I could just parse the iuhist.xml file but v5 uses the JET database format (EDB). If you open up a new project and then add a reference to WUAPI 2.0 Type Library. The development machine needs to have WU v5 installed. Here is a quick sub to test the update history query: Private Sub updateSearcher() Try ' This will instantiate the api locally. Dim wu As New WUApiLib.UpdateSearcher ' This "should" instantiate it remotely ' Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", "XP-TEST1") wu.Online = True Dim i As Integer = wu.GetTotalHistoryCount Dim c As WUApiLib.IUpdateHistoryEntryCollection c = wu.QueryHistory(0, i) Dim e As WUApiLib.IUpdateHistoryEntry i = 1 For Each e In c Console.WriteLine("Title: {0}", e.Title) Console.WriteLine("Operation: {0}", e.Operation.ToString) Console.WriteLine("Description: {0}", e.Description) Console.WriteLine("ResultCode: {0}", e.ResultCode.ToString) Console.WriteLine("ClientApplicationID: {0}", e.ClientApplicationID) Console.WriteLine("UpdateIdentity: {0}", e.UpdateIdentity.UpdateID) Console.WriteLine("------------------------------------------------------------------") If i > 5 Then Console.Write("Press enter to continue...") Console.ReadLine() Console.WriteLine() i = 1 Else i += 1 End If Next Catch ex As Exception Console.Write(ex.Message) End Try End Sub Perhaps there is an ODBC driver to read EDB files? Anyway, look forward to seeing if you can come up with something! Regards, Glen "David Herman .:MVP:." wrote: > Glen, > > Can you provide more information with regard to what you want to do? > > That way I may be able to write some sample code etc for you. > > -David Herman > > "GlenConway" <> wrote in message > news:1EB1222A-F939-4CA2-9BE5-... > > Hi, > > > > Not sure where this post belongs so please excuse me if it's in the wrong > > group. > > > > I'm trying to use the WUAPILib.dll from Windows Update v5 with VB.NET. I > > can instantiate it locally fine but what I really need is to be able to do > > this remotely. > > > > My first thought was to use CreateObject: > > > > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", "XP-TEST1") > > > > This always returns "ActiveX Cannot Create Object". > > > > It's worth noting that the XP machine doesn't have SP 2 on it, I've just > > upgraded WU to v5. This rules out any firewall or enhanced security > > configuration issues. > > > > I thought it may be a DCOM configuration issue but when I looked on the XP > > box, it looks like the WU library doesn't support remote instantiation. > > Perhaps a way around this is to use WMI to instantiate the API locally but > > can WMI be used as a proxy? > > > > Any thoughts or pointers would be greatly appreciated. > > > > -- > > -------------------------------------------------------------- > > Flarepath Windows Update Analyser - download at http://www.flarepath.com > > -------------------------------------------------------------- > > > |
|
|
|
|
|||
|
|||
|
David Herman .:MVP:.
Guest
Posts: n/a
|
I'm actually in the process of looking to write an app which does what you
want with the added feature of removing existing record. I'll keep you posted. -David Herman "GlenConway" <> wrote in message news:B935C7AD-08A8-4A58-A621-... > David, > > Thanks for the reply. I need to be able to extract the update history > from > a WU v5 machine. As I said below, I can do it locally but I need to be > able > to do it remotely from a central machine. Previously, I could just parse > the > iuhist.xml file but v5 uses the JET database format (EDB). > > If you open up a new project and then add a reference to WUAPI 2.0 Type > Library. The development machine needs to have WU v5 installed. > > Here is a quick sub to test the update history query: > > Private Sub updateSearcher() > Try > ' This will instantiate the api locally. > Dim wu As New WUApiLib.UpdateSearcher > > ' This "should" instantiate it remotely > ' Dim wu As Object = > CreateObject("Microsoft.Update.Searcher.1", > "XP-TEST1") > > wu.Online = True > > Dim i As Integer = wu.GetTotalHistoryCount > > Dim c As WUApiLib.IUpdateHistoryEntryCollection > > c = wu.QueryHistory(0, i) > > Dim e As WUApiLib.IUpdateHistoryEntry > > i = 1 > > For Each e In c > Console.WriteLine("Title: {0}", e.Title) > Console.WriteLine("Operation: {0}", e.Operation.ToString) > Console.WriteLine("Description: {0}", e.Description) > Console.WriteLine("ResultCode: {0}", e.ResultCode.ToString) > > Console.WriteLine("ClientApplicationID: {0}", > e.ClientApplicationID) > Console.WriteLine("UpdateIdentity: {0}", > e.UpdateIdentity.UpdateID) > > Console.WriteLine("------------------------------------------------------------------") > > If i > 5 Then > Console.Write("Press enter to continue...") > Console.ReadLine() > Console.WriteLine() > i = 1 > Else > i += 1 > End If > Next > Catch ex As Exception > Console.Write(ex.Message) > End Try > End Sub > > Perhaps there is an ODBC driver to read EDB files? > > Anyway, look forward to seeing if you can come up with something! > > Regards, > > Glen > > "David Herman .:MVP:." wrote: > >> Glen, >> >> Can you provide more information with regard to what you want to do? >> >> That way I may be able to write some sample code etc for you. >> >> -David Herman >> >> "GlenConway" <> wrote in message >> news:1EB1222A-F939-4CA2-9BE5-... >> > Hi, >> > >> > Not sure where this post belongs so please excuse me if it's in the >> > wrong >> > group. >> > >> > I'm trying to use the WUAPILib.dll from Windows Update v5 with VB.NET. >> > I >> > can instantiate it locally fine but what I really need is to be able to >> > do >> > this remotely. >> > >> > My first thought was to use CreateObject: >> > >> > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", >> > "XP-TEST1") >> > >> > This always returns "ActiveX Cannot Create Object". >> > >> > It's worth noting that the XP machine doesn't have SP 2 on it, I've >> > just >> > upgraded WU to v5. This rules out any firewall or enhanced security >> > configuration issues. >> > >> > I thought it may be a DCOM configuration issue but when I looked on the >> > XP >> > box, it looks like the WU library doesn't support remote instantiation. >> > Perhaps a way around this is to use WMI to instantiate the API locally >> > but >> > can WMI be used as a proxy? >> > >> > Any thoughts or pointers would be greatly appreciated. >> > >> > -- >> > -------------------------------------------------------------- >> > Flarepath Windows Update Analyser - download at >> > http://www.flarepath.com >> > -------------------------------------------------------------- >> >> >> |
|
|
|
|
|||
|
|||
|
GlenConway
Guest
Posts: n/a
|
David,
Look forward to it. Do you have any timescales? Thanks Glen "David Herman .:MVP:." wrote: > I'm actually in the process of looking to write an app which does what you > want with the added feature of removing existing record. I'll keep you > posted. > > -David Herman > > "GlenConway" <> wrote in message > news:B935C7AD-08A8-4A58-A621-... > > David, > > > > Thanks for the reply. I need to be able to extract the update history > > from > > a WU v5 machine. As I said below, I can do it locally but I need to be > > able > > to do it remotely from a central machine. Previously, I could just parse > > the > > iuhist.xml file but v5 uses the JET database format (EDB). > > > > If you open up a new project and then add a reference to WUAPI 2.0 Type > > Library. The development machine needs to have WU v5 installed. > > > > Here is a quick sub to test the update history query: > > > > Private Sub updateSearcher() > > Try > > ' This will instantiate the api locally. > > Dim wu As New WUApiLib.UpdateSearcher > > > > ' This "should" instantiate it remotely > > ' Dim wu As Object = > > CreateObject("Microsoft.Update.Searcher.1", > > "XP-TEST1") > > > > wu.Online = True > > > > Dim i As Integer = wu.GetTotalHistoryCount > > > > Dim c As WUApiLib.IUpdateHistoryEntryCollection > > > > c = wu.QueryHistory(0, i) > > > > Dim e As WUApiLib.IUpdateHistoryEntry > > > > i = 1 > > > > For Each e In c > > Console.WriteLine("Title: {0}", e.Title) > > Console.WriteLine("Operation: {0}", e.Operation.ToString) > > Console.WriteLine("Description: {0}", e.Description) > > Console.WriteLine("ResultCode: {0}", e.ResultCode.ToString) > > > > Console.WriteLine("ClientApplicationID: {0}", > > e.ClientApplicationID) > > Console.WriteLine("UpdateIdentity: {0}", > > e.UpdateIdentity.UpdateID) > > > > Console.WriteLine("------------------------------------------------------------------") > > > > If i > 5 Then > > Console.Write("Press enter to continue...") > > Console.ReadLine() > > Console.WriteLine() > > i = 1 > > Else > > i += 1 > > End If > > Next > > Catch ex As Exception > > Console.Write(ex.Message) > > End Try > > End Sub > > > > Perhaps there is an ODBC driver to read EDB files? > > > > Anyway, look forward to seeing if you can come up with something! > > > > Regards, > > > > Glen > > > > "David Herman .:MVP:." wrote: > > > >> Glen, > >> > >> Can you provide more information with regard to what you want to do? > >> > >> That way I may be able to write some sample code etc for you. > >> > >> -David Herman > >> > >> "GlenConway" <> wrote in message > >> news:1EB1222A-F939-4CA2-9BE5-... > >> > Hi, > >> > > >> > Not sure where this post belongs so please excuse me if it's in the > >> > wrong > >> > group. > >> > > >> > I'm trying to use the WUAPILib.dll from Windows Update v5 with VB.NET. > >> > I > >> > can instantiate it locally fine but what I really need is to be able to > >> > do > >> > this remotely. > >> > > >> > My first thought was to use CreateObject: > >> > > >> > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", > >> > "XP-TEST1") > >> > > >> > This always returns "ActiveX Cannot Create Object". > >> > > >> > It's worth noting that the XP machine doesn't have SP 2 on it, I've > >> > just > >> > upgraded WU to v5. This rules out any firewall or enhanced security > >> > configuration issues. > >> > > >> > I thought it may be a DCOM configuration issue but when I looked on the > >> > XP > >> > box, it looks like the WU library doesn't support remote instantiation. > >> > Perhaps a way around this is to use WMI to instantiate the API locally > >> > but > >> > can WMI be used as a proxy? > >> > > >> > Any thoughts or pointers would be greatly appreciated. > >> > > >> > -- > >> > -------------------------------------------------------------- > >> > Flarepath Windows Update Analyser - download at > >> > http://www.flarepath.com > >> > -------------------------------------------------------------- > >> > >> > >> > > > |
|
|
|
|
|||
|
|||
|
David Herman .:MVP:.
Guest
Posts: n/a
|
I want to get started and finish by the end of this weekend, i hope. May get
the dev team in WU at MS to take a look too, to make sure its up to scratch. -David Herman "GlenConway" <> wrote in message news:10E57F3E-479B-4E1F-8C1B-... > David, > > Look forward to it. Do you have any timescales? > > Thanks > > Glen > > "David Herman .:MVP:." wrote: > >> I'm actually in the process of looking to write an app which does what >> you >> want with the added feature of removing existing record. I'll keep you >> posted. >> >> -David Herman >> >> "GlenConway" <> wrote in message >> news:B935C7AD-08A8-4A58-A621-... >> > David, >> > >> > Thanks for the reply. I need to be able to extract the update history >> > from >> > a WU v5 machine. As I said below, I can do it locally but I need to be >> > able >> > to do it remotely from a central machine. Previously, I could just >> > parse >> > the >> > iuhist.xml file but v5 uses the JET database format (EDB). >> > >> > If you open up a new project and then add a reference to WUAPI 2.0 Type >> > Library. The development machine needs to have WU v5 installed. >> > >> > Here is a quick sub to test the update history query: >> > >> > Private Sub updateSearcher() >> > Try >> > ' This will instantiate the api locally. >> > Dim wu As New WUApiLib.UpdateSearcher >> > >> > ' This "should" instantiate it remotely >> > ' Dim wu As Object = >> > CreateObject("Microsoft.Update.Searcher.1", >> > "XP-TEST1") >> > >> > wu.Online = True >> > >> > Dim i As Integer = wu.GetTotalHistoryCount >> > >> > Dim c As WUApiLib.IUpdateHistoryEntryCollection >> > >> > c = wu.QueryHistory(0, i) >> > >> > Dim e As WUApiLib.IUpdateHistoryEntry >> > >> > i = 1 >> > >> > For Each e In c >> > Console.WriteLine("Title: {0}", e.Title) >> > Console.WriteLine("Operation: {0}", >> > e.Operation.ToString) >> > Console.WriteLine("Description: {0}", e.Description) >> > Console.WriteLine("ResultCode: {0}", >> > e.ResultCode.ToString) >> > >> > Console.WriteLine("ClientApplicationID: {0}", >> > e.ClientApplicationID) >> > Console.WriteLine("UpdateIdentity: {0}", >> > e.UpdateIdentity.UpdateID) >> > >> > Console.WriteLine("------------------------------------------------------------------") >> > >> > If i > 5 Then >> > Console.Write("Press enter to continue...") >> > Console.ReadLine() >> > Console.WriteLine() >> > i = 1 >> > Else >> > i += 1 >> > End If >> > Next >> > Catch ex As Exception >> > Console.Write(ex.Message) >> > End Try >> > End Sub >> > >> > Perhaps there is an ODBC driver to read EDB files? >> > >> > Anyway, look forward to seeing if you can come up with something! >> > >> > Regards, >> > >> > Glen >> > >> > "David Herman .:MVP:." wrote: >> > >> >> Glen, >> >> >> >> Can you provide more information with regard to what you want to do? >> >> >> >> That way I may be able to write some sample code etc for you. >> >> >> >> -David Herman >> >> >> >> "GlenConway" <> wrote in message >> >> news:1EB1222A-F939-4CA2-9BE5-... >> >> > Hi, >> >> > >> >> > Not sure where this post belongs so please excuse me if it's in the >> >> > wrong >> >> > group. >> >> > >> >> > I'm trying to use the WUAPILib.dll from Windows Update v5 with >> >> > VB.NET. >> >> > I >> >> > can instantiate it locally fine but what I really need is to be able >> >> > to >> >> > do >> >> > this remotely. >> >> > >> >> > My first thought was to use CreateObject: >> >> > >> >> > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", >> >> > "XP-TEST1") >> >> > >> >> > This always returns "ActiveX Cannot Create Object". >> >> > >> >> > It's worth noting that the XP machine doesn't have SP 2 on it, I've >> >> > just >> >> > upgraded WU to v5. This rules out any firewall or enhanced security >> >> > configuration issues. >> >> > >> >> > I thought it may be a DCOM configuration issue but when I looked on >> >> > the >> >> > XP >> >> > box, it looks like the WU library doesn't support remote >> >> > instantiation. >> >> > Perhaps a way around this is to use WMI to instantiate the API >> >> > locally >> >> > but >> >> > can WMI be used as a proxy? >> >> > >> >> > Any thoughts or pointers would be greatly appreciated. >> >> > >> >> > -- >> >> > -------------------------------------------------------------- >> >> > Flarepath Windows Update Analyser - download at >> >> > http://www.flarepath.com >> >> > -------------------------------------------------------------- >> >> >> >> >> >> >> >> >> |
|
|
|
|
|||
|
|||
|
GlenConway
Guest
Posts: n/a
|
Hi David,
Did you get anywhere with the code this weekend? Have you anything that I can play around with? Thanks Glen "David Herman .:MVP:." wrote: > I want to get started and finish by the end of this weekend, i hope. May get > the dev team in WU at MS to take a look too, to make sure its up to scratch. > > -David Herman > > "GlenConway" <> wrote in message > news:10E57F3E-479B-4E1F-8C1B-... > > David, > > > > Look forward to it. Do you have any timescales? > > > > Thanks > > > > Glen > > > > "David Herman .:MVP:." wrote: > > > >> I'm actually in the process of looking to write an app which does what > >> you > >> want with the added feature of removing existing record. I'll keep you > >> posted. > >> > >> -David Herman > >> > >> "GlenConway" <> wrote in message > >> news:B935C7AD-08A8-4A58-A621-... > >> > David, > >> > > >> > Thanks for the reply. I need to be able to extract the update history > >> > from > >> > a WU v5 machine. As I said below, I can do it locally but I need to be > >> > able > >> > to do it remotely from a central machine. Previously, I could just > >> > parse > >> > the > >> > iuhist.xml file but v5 uses the JET database format (EDB). > >> > > >> > If you open up a new project and then add a reference to WUAPI 2.0 Type > >> > Library. The development machine needs to have WU v5 installed. > >> > > >> > Here is a quick sub to test the update history query: > >> > > >> > Private Sub updateSearcher() > >> > Try > >> > ' This will instantiate the api locally. > >> > Dim wu As New WUApiLib.UpdateSearcher > >> > > >> > ' This "should" instantiate it remotely > >> > ' Dim wu As Object = > >> > CreateObject("Microsoft.Update.Searcher.1", > >> > "XP-TEST1") > >> > > >> > wu.Online = True > >> > > >> > Dim i As Integer = wu.GetTotalHistoryCount > >> > > >> > Dim c As WUApiLib.IUpdateHistoryEntryCollection > >> > > >> > c = wu.QueryHistory(0, i) > >> > > >> > Dim e As WUApiLib.IUpdateHistoryEntry > >> > > >> > i = 1 > >> > > >> > For Each e In c > >> > Console.WriteLine("Title: {0}", e.Title) > >> > Console.WriteLine("Operation: {0}", > >> > e.Operation.ToString) > >> > Console.WriteLine("Description: {0}", e.Description) > >> > Console.WriteLine("ResultCode: {0}", > >> > e.ResultCode.ToString) > >> > > >> > Console.WriteLine("ClientApplicationID: {0}", > >> > e.ClientApplicationID) > >> > Console.WriteLine("UpdateIdentity: {0}", > >> > e.UpdateIdentity.UpdateID) > >> > > >> > Console.WriteLine("------------------------------------------------------------------") > >> > > >> > If i > 5 Then > >> > Console.Write("Press enter to continue...") > >> > Console.ReadLine() > >> > Console.WriteLine() > >> > i = 1 > >> > Else > >> > i += 1 > >> > End If > >> > Next > >> > Catch ex As Exception > >> > Console.Write(ex.Message) > >> > End Try > >> > End Sub > >> > > >> > Perhaps there is an ODBC driver to read EDB files? > >> > > >> > Anyway, look forward to seeing if you can come up with something! > >> > > >> > Regards, > >> > > >> > Glen > >> > > >> > "David Herman .:MVP:." wrote: > >> > > >> >> Glen, > >> >> > >> >> Can you provide more information with regard to what you want to do? > >> >> > >> >> That way I may be able to write some sample code etc for you. > >> >> > >> >> -David Herman > >> >> > >> >> "GlenConway" <> wrote in message > >> >> news:1EB1222A-F939-4CA2-9BE5-... > >> >> > Hi, > >> >> > > >> >> > Not sure where this post belongs so please excuse me if it's in the > >> >> > wrong > >> >> > group. > >> >> > > >> >> > I'm trying to use the WUAPILib.dll from Windows Update v5 with > >> >> > VB.NET. > >> >> > I > >> >> > can instantiate it locally fine but what I really need is to be able > >> >> > to > >> >> > do > >> >> > this remotely. > >> >> > > >> >> > My first thought was to use CreateObject: > >> >> > > >> >> > Dim wu As Object = CreateObject("Microsoft.Update.Searcher.1", > >> >> > "XP-TEST1") > >> >> > > >> >> > This always returns "ActiveX Cannot Create Object". > >> >> > > >> >> > It's worth noting that the XP machine doesn't have SP 2 on it, I've > >> >> > just > >> >> > upgraded WU to v5. This rules out any firewall or enhanced security > >> >> > configuration issues. > >> >> > > >> >> > I thought it may be a DCOM configuration issue but when I looked on > >> >> > the > >> >> > XP > >> >> > box, it looks like the WU library doesn't support remote > >> >> > instantiation. > >> >> > Perhaps a way around this is to use WMI to instantiate the API > >> >> > locally > >> >> > but > >> >> > can WMI be used as a proxy? > >> >> > > >> >> > Any thoughts or pointers would be greatly appreciated. > >> >> > > >> >> > -- > >> >> > -------------------------------------------------------------- > >> >> > Flarepath Windows Update Analyser - download at > >> >> > http://www.flarepath.com > >> >> > -------------------------------------------------------------- > >> >> > >> >> > >> >> > >> > >> > >> > > > |
|
|
|
|
|||
|
|||
|
|
|
| |
![]() |
| Thread Tools | |
| Display Modes | |
|
|
Forum Software Powered by vBulletin, Copyright Jelsoft Enterprises Ltd.
SEO by vBSEO 3.3.2 ©2009, Crawlability, Inc. |



Linear Mode
