From: Frans Bouma on
rony wrote:

> Hi,
> I am using the following code :
> WindowsInstaller.Installer i = null;
> Type oType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
> if (oType != null)
> {
> i =
> (WindowsInstaller.Installer)Activator.CreateInstance(oType);
> }
> WindowsInstaller.StringList s = i.Products;
> foreach (string s1 in s)
> {
> WindowsInstaller.StringList sc = i.get_ComponentClients(s1);
> foreach (string c in sc)
> {
> Console.WriteLine(i.get_ProductInfo(c, "ProductName"));
> }
> }
>
> This code prints all the installed programs on my computer.
> The problem is that hi skips some programs and i can't see them.
> I check the add\remore program and i do see them there.
>
> i tried to search for them by components, i couldn't find them.

Don't see the relevance for this newsgroup, but here's an answer:
Not every program installed is installed through the Microsoft
Installer service, which is used by msi installers. For example,
innosetup uses its own installer engine and doesn't use windows
installer and therefore won't end up in the list of windows installer
programs.

FB

--
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#)
------------------------------------------------------------------------
From: rony on
But i can see those programs in the add\remove tool.


Frans Bouma wrote:
> rony wrote:
>
> > Hi,
> > I am using the following code :
> > WindowsInstaller.Installer i = null;
> > Type oType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
> > if (oType != null)
> > {
> > i =
> > (WindowsInstaller.Installer)Activator.CreateInstance(oType);
> > }
> > WindowsInstaller.StringList s = i.Products;
> > foreach (string s1 in s)
> > {
> > WindowsInstaller.StringList sc = i.get_ComponentClients(s1);
> > foreach (string c in sc)
> > {
> > Console.WriteLine(i.get_ProductInfo(c, "ProductName"));
> > }
> > }
> >
> > This code prints all the installed programs on my computer.
> > The problem is that hi skips some programs and i can't see them.
> > I check the add\remore program and i do see them there.
> >
> > i tried to search for them by components, i couldn't find them.
>
> Don't see the relevance for this newsgroup, but here's an answer:
> Not every program installed is installed through the Microsoft
> Installer service, which is used by msi installers. For example,
> innosetup uses its own installer engine and doesn't use windows
> installer and therefore won't end up in the list of windows installer
> programs.
>
> FB
>
> --
> ------------------------------------------------------------------------
> Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
> LLBLGen Pro website: http://www.llblgen.com
> My .NET blog: http://weblogs.asp.net/fbouma
> Microsoft MVP (C#)
> ------------------------------------------------------------------------

From: Nick Malik [Microsoft] on
The add/remove tool simply uses the registry to keep the list of
applications. The installer service writes to the registry, but so does
every other installer. That's the common denominator.

--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik

Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"rony" <rony.vainblat(a)gmail.com> wrote in message
news:1162457927.919319.90890(a)h48g2000cwc.googlegroups.com...
> But i can see those programs in the add\remove tool.
>
>
> Frans Bouma wrote:
>> rony wrote:
>>
>> > Hi,
>> > I am using the following code :
>> > WindowsInstaller.Installer i = null;
>> > Type oType = Type.GetTypeFromProgID("WindowsInstaller.Installer");
>> > if (oType != null)
>> > {
>> > i =
>> > (WindowsInstaller.Installer)Activator.CreateInstance(oType);
>> > }
>> > WindowsInstaller.StringList s = i.Products;
>> > foreach (string s1 in s)
>> > {
>> > WindowsInstaller.StringList sc = i.get_ComponentClients(s1);
>> > foreach (string c in sc)
>> > {
>> > Console.WriteLine(i.get_ProductInfo(c, "ProductName"));
>> > }
>> > }
>> >
>> > This code prints all the installed programs on my computer.
>> > The problem is that hi skips some programs and i can't see them.
>> > I check the add\remore program and i do see them there.
>> >
>> > i tried to search for them by components, i couldn't find them.
>>
>> Don't see the relevance for this newsgroup, but here's an answer:
>> Not every program installed is installed through the Microsoft
>> Installer service, which is used by msi installers. For example,
>> innosetup uses its own installer engine and doesn't use windows
>> installer and therefore won't end up in the list of windows installer
>> programs.
>>
>> FB
>>
>> --
>> ------------------------------------------------------------------------
>> Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
>> LLBLGen Pro website: http://www.llblgen.com
>> My .NET blog: http://weblogs.asp.net/fbouma
>> Microsoft MVP (C#)
>> ------------------------------------------------------------------------
>