Another option is to use the wix CAQuietExec to invoke the appcmd. This way you don't have to make your own full blown CA.
<CustomAction Id="TurnOff32BitApps" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="check" Impersonate="no" /> <CustomAction Id="PropertyAssignTurnOff32BitApps" Property="TurnOff32BitApps" Value='"[SystemFolder]inetsrv\appcmd" set apppool /apppool.name:"[AppPoolName]" /enable32BitAppOnWin64:false' /> <Custom Action="PropertyAssignTurnOff32BitApps" Before="TurnOff32BitApps" /> <Custom Action="TurnOff32BitApps" Before="InstallFinalize"> <![CDATA[NOT Installed AND VersionNT64 >= 600]]> </Custom> This is for the enable32BitAppOnWin64 but the concept applies to any of the iis setting Wix can't do by default. -----Original Message----- From: Steven Ogilvie [mailto:steven.ogil...@titus.com] Sent: Friday, January 18, 2013 12:02 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set "Limit Interval (minutes)" on an App Pool I also had to create a new custom action for IIS, setting the enable32BitAppOnWin64 true or false based on the bitness of the OS, if your WIX installer was a 32 bit installer it would ALWAYS set this to true. There are 2 C# functions, one to set the enable32BitAppOnWin64 and the other to determine the bitness of the OS. I would call this custom action: <CustomAction Id="CA_Set_ENABLE32BITAPPPOOL" Property="CA_ENABLE32BITAPPPOOL" Value="[WEB_SITE_NAME]|"/> <CustomAction Id="CA_ENABLE32BITAPPPOOL" BinaryKey="BIN_CustomActionMM" DllEntry="Enable32BitApplicationPool" Impersonate="no" Execute="deferred" Return="ignore"/> <UI> <ProgressText Action="CA_ENABLE32BITAPPPOOL">CA: Setting enable32BitAppOnWin64 for TITUS Application Pool...</ProgressText> </UI> <InstallExecuteSequence> <Custom Action="CA_Set_ENABLE32BITAPPPOOL" After="CostFinalize">NOT Installed</Custom> <Custom Action="CA_ENABLE32BITAPPPOOL" Before="InstallFinalize">NOT Installed</Custom> /// <summary> /// Enable32BitApplicationPool sets the App Pool propery enable32BitAppOnWin64 /// true or false depending on the bitness of the OS /// </summary> /// <param name="session"></param> /// <returns>ActionResult.Success</returns> [CustomAction] public static ActionResult Enable32BitApplicationPool(Session session) { try { if (session == null) { throw new ArgumentNullException("session"); } string tempString = (GetSessionProperty(session, "CustomActionData", false)); string[] parts = tempString.Split(new[] { '|' }); string applicationPool = parts[0]; // which is [WEB_SITE_NAME] the name of the web app pool as well const string quote = "\""; string cmdLineParameters = "set apppool /apppool.name:" + quote + applicationPool + quote + " /enable32BitAppOnWin64:false"; var cmdLineExe = Environment.GetFolderPath(Environment.SpecialFolder.System) + "\\inetsrv\\appcmd.exe"; // Prepare the process to run var startInfo = new ProcessStartInfo { UseShellExecute = true, Arguments = cmdLineParameters, FileName = cmdLineExe, WindowStyle = ProcessWindowStyle.Hidden, CreateNoWindow = true }; // Run the external process & wait for it to finish using (Process proc = Process.Start(startInfo)) { proc.WaitForExit(); } } catch (Exception ex) { MessageBox.Show("Enable32BitApplicationPool failed: " + ex.Message, "Custom action exception error...", MessageBoxButtons.OK, MessageBoxIcon.Error); } return ActionResult.Success; } /// <summary> /// Detects whether or not the OS is 64 or 32 bit /// </summary> /// <returns></returns> private static bool Is64BitWindows() { return Directory.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86)); } Hope this helps out... -----Original Message----- From: Rob Mensching [mailto:r...@robmensching.com] Sent: January-18-13 11:45 AM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Wix's IIS extension. How to set "Limit Interval (minutes)" on an App Pool Or better, just add the missing setting to the WiX CA. I can't image it's that much work... certainly less than creating a whole new CA. On Thu, Jan 17, 2013 at 10:54 PM, Neil Sleightholm <n...@x2systems.com>wrote: > Looking at the source I don't think it has been implemented. > > You could try adding a custom action to set it or write the entry in > to ApplicationHost.config ( > http://www.iis.net/configreference/system.applicationhost/applicationp > ools/add/cpu > ) > > Neil > > -----Original Message----- > From: JohnB [mailto:john.bu...@telvent.com] > Sent: 18 January 2013 00:30 > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Wix's IIS extension. How to set "Limit Interval > (minutes)" on an App Pool > > In IIS 7, an App Pool has a settings called "Limit Interval (minutes)" > (aka "resetInterval"). I can't seem to find a way to set this in Wix. > I've tried the WebAppPool element's RefreshCpu, RecycleMinutes, and > several other attributes with no luck. Is there a way? Here's a > screen shot of what I mean. Thanks. > > < > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/file/n75 > 82998/2013-01-17_17h09_14.png > > > > > > -- > View this message in context: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-s-II > S-extension-How-to-set-Limit-Interval-minutes-on-an-App-Pool-tp7582998 > .html Sent from the wix-users mailing list archive at Nabble.com. > > > ---------------------------------------------------------------------- > -------- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API > and much more. Get web development skills now with LearnDevNow - > 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. > SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122812 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ---------------------------------------------------------------------- > -------- Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API > and much more. Get web development skills now with LearnDevNow - > 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. > SALE $99.99 this month only -- learn more at: > http://p.sf.net/sfu/learnmore_122812 > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users