Hi, 

I found today I was facing a similar problem to that described in this
post: 

Ziegelwanger, Silvio <[EMAIL PROTECTED]> - 2007-03-05 11:57 
http://sourceforge.net/mailarchive/message.php?msg_id=B710F3299F04664DB6B37C258FDEEB943D2E3F%40FABAMAIL.fabagl.fabasoft.com

I'm trying to provide a dialog with a checkbox, which in its checked
state sets a virtual directory I create to Windows Authentication mode
and unchecked sets the virtual directory to Anonymous authentication.

I've had some success.. though I'm not entirely there.. Hoping someone
out there could help me out.



Rob suggests in the above post that since attributes of the
<iis:WebDirProperties/> element can not be set to properties (i.e.
AnonymousAccess= "yes", "no" but not "[AllowAnon]"), the only way to
work around this currently is to include two components and condition
one out. 

Still being a wix (and win installer) noob, I've tried doing this by
creating my own C++ DLL custom action which calls MsiSetComponentState
and sets the relevant (i.e. the unwanted of the two) component to
INSTALL_ABSENT. I've defined this in Wix as below:

<CustomAction 
            Id="DisableComponentAction" 
            BinaryKey="BCC.WixCustomActions"
            DllEntry="SetComponentDisabled"
            Execute="immediate"
            Return="check"/>

<InstallExecuteSequence>
... 
            <!-- ALLOWANONYMOUS IS THE PROPERTY SET BY THE CHECKBOX IN
            THE INSTALLER UI -->
            <Custom Action="SetAnonymousDisabled"
            Before="DisableComponentAction">ALLOWANONYMOUS &lt;&gt;
            "yes"</Custom>
            <Custom Action="SetWinAuthDisabled"
            Before="DisableComponentAction">ALLOWANONYMOUS =
            "yes"</Custom>
            <Custom Action="DisableComponentAction"
            Before="InstallValidate"/> 
...
</InstallExecuteSequence>



This appears to work just fine on installation - the virtual directory
is created successfully and directory security is set to Anonymous or
Windows Authenticated based on the user's selection in the installer UI. 

However, by doing this I've introduced a problem such that the installer
no longer removes components on uninstallation. I get a bunch of lines
in the installer log as below:
MSI (c) (64:54) [15:08:29:574]: Disallowing uninstallation of component:
{GUID} since another client exists

This happens if I take the installer and install/uninstall onto a new,
clean PC.. Is there a way I can diagnose what exactly is causing this?
I've tried hunting through HKLM\SOFTWARE\Classes\Installer and elsewhere
in the registry but the referenced GUIDs don't seem to appear as
keys/values/other anywhere in the registry of an affected PC. 


Thanks,
David

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to