MsiZap is sort of a last resort tool. What you should do is uninstall
for any accounts that you have access to, and then if the machines still
have product registrations under other inaccessible profiles that are
stopping you from doing your new install, then you use MsiZap to wipe
the machine clean of those registrations. Basically, it'll wipe out the
HKCR\Installer and
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer data for the
specified package. The user profiles for those inaccessible accounts
aren't so relevant because, by definition, they're inaccessible and
won't be used again. You can even delete any cached profiles for users
who have left if you like.

BTW, to see which user accounts are affected,
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData
contains the details of who has which packages installed. It's by
UserSID, with the system account being the short SID. You can look under
each user's key to see the Components, Products and Patches they have
installed. Under Products the ProductCode is packed - brackets and
hyphens removed and various characters switched around, have a search
online to find out more details.

Another way to achieve all this may be to change the UpgradeCode of your
product. Not best practices, and not at all good if the product is
externally released, but if it's a package that's internal to your
organisation then that might do the trick. Though the component
reference counting wouldn't be right, so it wouldn't all uninstall if
you removed the package.

Cheers,
James

-----Original Message-----
From: hyung [mailto:[EMAIL PROTECTED] 
Sent: 30 October 2008 06:04
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] uninstall per user product


Thanks everyone for the help. I have managed to detect all users who
ever installed our product using MsiEnumProductsEx and
LookupAccountSidW. Now I am facing another challenging problem - how do
we uninstall all per-user installations? If some accounts are no longer
accessible, what can we do?

Question: 
Can I use MsiZap to remove all per-user installations? I have tried
"MsiZap TW! {productGuid} but according to the help W option requires
that the profiles for all of the users be loaded. Anyone knows how to
load all users'
profile so that I can use "MsiZap TW! {productGuid}" to remove all
per-user installations?

Any hints will be much appreciated.

Thanks,
Hyung


Buddell, James wrote:
> 
> Tidying up per-user installs is almost impossible, especially when 
> some users might have left your business so their accounts are no 
> longer accessible. I try not to use it, but there's always MSIZap...
> 
> -----Original Message-----
> From: Ian Elliott (Excell Data Corporation) 
> [mailto:[EMAIL PROTECTED]
> Sent: 24 October 2008 18:46
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] uninstall per user product
> 
> It won't uninstall. Just detects then allows you to put a message up 
> and advise the user to uninstall the old per-user app then re-run
setup.
> 
> I think you are correct that user needs to be admin to run this.
> 
> -----Original Message-----
> From: Rob Mensching [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 24, 2008 10:44 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] uninstall per user product
> 
> Only when admin right?  And this won't uninstall right?  I think you'd

> need to load all the user's profiles to uninstall per-user
applications.
> Loading user profiles is tricky from what I've heard.
> 
> -----Original Message-----
> From: Ian Elliott (Excell Data Corporation) 
> [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 24, 2008 10:41
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] uninstall per user product
> 
> I've used a custom action to do something similar in the past. A 
> stripped down version of the code is below. I can't guarantee 100% 
> effectiveness but it worked for my needs at the time.
> 
> UINT __stdcall FunctionName (MSIHANDLE hMsi) {
>     UINT uiStatus = ERROR_SUCCESS;
> 
>     WriteToLog( hMsi, _T("Entering"));
> 
>     uiStatus = MsiEnumProductsEx(
>         _T("{PUT_GUID_HERE}"), // product code to search for
>         _T("s-1-1-0"), // search all users
>         MSIINSTALLCONTEXT_USERMANAGED | 
> MSIINSTALLCONTEXT_USERUNMANAGED
> | MSIINSTALLCONTEXT_MACHINE, // search all users
>         0,
>         NULL,
>         NULL,
>         NULL,
>         NULL);
> 
> 
> 
>     if (uiStatus == ERROR_SUCCESS) // Product was found
>     {
>         MSIHANDLE hError = MsiCreateRecord(1);
>         MsiRecordSetInteger(hError, 1, 2001); // Use code 2001 from 
> the msi's Error table. Author 2001 in wix file.
>         MsiProcessMessage(hMsi, INSTALLMESSAGE_ERROR, hError);
>     }
>     else // we didn't find the Product
>     {
>         WriteToLog( hMsi, _T("Product not found"));
>     }
> 
>     WriteToLog( hMsi, _T("Leaving"));
>     return uiStatus;
> }
> 
> -----Original Message-----
> From: Rob Mensching [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 24, 2008 10:36 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] uninstall per user product
> 
> Sounds very difficult to do correctly.  Lots of complicated stuff in 
> there from what I've heard.
> 
> -----Original Message-----
> From: hyung [mailto:[EMAIL PROTECTED]
> Sent: Friday, October 24, 2008 09:18
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] uninstall per user product
> 
> 
> Thanks for the answer.
> 
> Any hints on how I can find who installed? I need to provide an 
> uninstall utility which removes prior versions.
> 
> Thanks,
> Hyung
> 
> 
> Rob Mensching-2 wrote:
>>
>> I believe you'd have to log in as each user and execute the installer

>> as that user.
>>
>> -----Original Message-----
>> From: hyung [mailto:[EMAIL PROTECTED]
>> Sent: Thursday, October 23, 2008 23:47
>> To: wix-users@lists.sourceforge.net
>> Subject: [WiX-users] uninstall per user product
>>
>>
>> Hi all,
>>
>> I have changed the product install type from per-user to per-machine 
>> and want to uninstall prior per-user installs. According to the 
>> archived emails it seems I need to write an uninstall utilitiy to 
>> remove all products installed by users. My question is "How can I 
>> find
> 
>> all users who installed the prior version?"
>>
>> We have used a same product id so I can detect whether the prior 
>> version is installed or not by checking:
>> HLKM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{productid}
>> However as only a user who installed the prior version can uninstall 
>> it, I need to find a list of users who installed the prior version. 
>> Is
> 
>> there any Windows Installer API that supports this kind of scenario? 
>> Any hints will be appreciated.
>>
>> Thanks,
>> Hyung
>>
>> --
>> View this message in context:
>> http://n2.nabble.com/uninstall-per-user-product-tp1371127p1371127.htm
>> l Sent from the wix-users mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> -
>> --- This SF.Net email is sponsored by the Moblin Your Move 
>> Developer's
> 
>> challenge Build the coolest Linux based applications with Moblin SDK 
>> &
> 
>> win great prizes Grand prize is a trip for two to an Open Source 
>> event
> 
>> anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> WiX-users mailing list
>> WiX-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>>
>> ---------------------------------------------------------------------
>> -
>> --- This SF.Net email is sponsored by the Moblin Your Move 
>> Developer's
> 
>> challenge Build the coolest Linux based applications with Moblin SDK 
>> &
> 
>> win great prizes Grand prize is a trip for two to an Open Source 
>> event
> 
>> anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> WiX-users mailing list
>> WiX-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>>
> 
> --
> View this message in context:
> http://n2.nabble.com/uninstall-per-user-product-tp1371127p1372635.html
> Sent from the wix-users mailing list archive at Nabble.com.
> 
> 
> ----------------------------------------------------------------------
> --
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's 
> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> ----------------------------------------------------------------------
> --
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's 
> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> ----------------------------------------------------------------------
> --
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's 
> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> ----------------------------------------------------------------------
> --
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's 
> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> ----------------------------------------------------------------------
> --
> -
> This SF.Net email is sponsored by the Moblin Your Move Developer's 
> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 
> --
> This e-mail is confidential and the information contained in it may be

> privileged.  It should not be read, copied or used by anyone other 
> than the intended recipient.  If you have received it in error, please

> contact the sender immediately by telephoning +44 (0)20 7623 8000 or 
> by return email, and delete the e-mail and do not disclose its 
> contents to any person.  We believe, but do not warrant, that this 
> e-mail and any attachments are virus free, but you must take full 
> responsibility for virus checking.  Please refer to 
> http://www.dresdnerkleinwort.com/disc/email/ and read our e-mail 
> disclaimer statement and monitoring policy.
> 
> Dresdner Kleinwort is the trading name of the investment banking 
> division of Dresdner Bank AG, and operates through Dresdner Bank AG, 
> Dresdner Kleinwort Limited and their affiliated or associated 
> companies.  Dresdner Bank AG is a company incorporated in Germany with

> limited liability and registered in England (registered no. FC007638, 
> place of business 30 Gresham Street, London EC2V 7PG), and is 
> authorised by the German Federal Financial Supervisory Authority and 
> by the Financial Services Authority
> ('FSA') and regulated by the FSA for the conduct of designated 
> business in the UK.  Dresdner Kleinwort Limited is a company 
> incorporated in England (registered no. 551334, registered office 30 
> Gresham Street, London EC2V 7PG), and is authorised and regulated by
the FSA.
> 
> 
> ----------------------------------------------------------------------
> --- This SF.Net email is sponsored by the Moblin Your Move Developer's

> challenge Build the coolest Linux based applications with Moblin SDK &

> win great prizes Grand prize is a trip for two to an Open Source event

> anywhere in the world 
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
> 
> 

--
View this message in context:
http://n2.nabble.com/uninstall-per-user-product-tp1371127p1397042.html
Sent from the wix-users mailing list archive at Nabble.com.


------------------------------------------------------------------------
-
This SF.Net email is sponsored by the Moblin Your Move Developer's
challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the
world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
This e-mail is confidential and the information contained in it may be 
privileged.  It should not be read, copied or used by anyone other than the 
intended recipient.  If you have received it in error, please contact the 
sender immediately by telephoning +44 (0)20 7623 8000 or by return email, and 
delete the e-mail and do not disclose its contents to any person.  We believe, 
but do not warrant, that this e-mail and any attachments are virus free, but 
you must take full responsibility for virus checking.  Please refer to 
http://www.dresdnerkleinwort.com/disc/email/ and read our e-mail disclaimer 
statement and monitoring policy.

Dresdner Kleinwort is the trading name of the investment banking division of 
Dresdner Bank AG, and operates through Dresdner Bank AG, Dresdner Kleinwort 
Limited and their affiliated or associated companies.  Dresdner Bank AG is a 
company incorporated in Germany with limited liability and registered in 
England (registered no. FC007638, place of business 30 Gresham Street, London 
EC2V 7PG), and is authorised by the German Federal Financial Supervisory 
Authority and by the Financial Services Authority ('FSA') and regulated by the 
FSA for the conduct of designated business in the UK.  Dresdner Kleinwort 
Limited is a company incorporated in England (registered no. 551334, registered 
office 30 Gresham Street, London EC2V 7PG), and is authorised and regulated by 
the FSA.  


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to