First, I'm not intimately familiar with what you're doing, but have you tried making use of the standard IIS custom actions to do what you want to do? See wix.chm for the list of elements in the IIS extension - one of them may be able to help you do this, and then you'll get install, uninstall, rollback, etc. all well-tested, and for free.
If it isn't, could you file a feature request or bug outlining the scenario you wish IIS Extension supported? This sort of functionality will be better tested and more reliable if WiX supports it natively, so you don't have to do things like this yourself. Anyway, to answer your original question, try escaping them like this: "[\[]" (without quotes) for the open square bracket. "[\]]" (without quotes) for the ending square bracket. I believe this is the standard MSI way to escape these characters. Thanks, Mike Carlson -----Original Message----- From: phillip_sid...@dellteam.com [mailto:phillip_sid...@dellteam.com] Sent: Wednesday, September 30, 2009 1:22 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Square Brackets in a Custom Action I have a custom action that executes appcmd (the IIS 7 tool for metabase modifications) and it needs to contain '[' and ']' in the command line. The following custom action fails to compile with the square brackets: <CustomAction Id="SetDefaultAppPoolTo32Bit" Directory="TARGETDIR" ExeCommand="[WindowsFolder]\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='DefaultAppPool'].enable32BitAppOnWin64:"True" ; /commit:apphost" Return="ignore" Execute="commit" HideTarget="no" Impersonate="no" /> If I remove the square brackets it executes but performs the wrong function. I tried XML escaping them as follows: <CustomAction Id="SetDefaultAppPoolTo32Bit" Directory="TARGETDIR" ExeCommand="[WindowsFolder]\system32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /[name='DefaultAppPool'].enable32BitAppOnWin64:" ;True" /commit:apphost" Return="ignore" Execute="commit" HideTarget="no" Impersonate="no" /> Any other ideas? (besides shipping a separate .bat file that performs the function). Thanks. - Phil ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users