source: trunk/Installer/Libraries/MapGuide Web Extensions/IIS7.wxs

Last change on this file was 6583, checked in by jng, 4 years ago

#1805: More installer updates:

  • Persist VIRTUALDIR and APP_POOL_NAME MSI properties to the registry, so that they are correct for uninstallation
  • #1985: Add missing custom action calls for setting WOW compatibility in 64-bit windows from 32-bit Installer
  • Ensure dotnetsamples, dotnetviewersample and mapviewernet virtual dirs are removed on uninstall
File size: 22.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
3     xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"
4     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
5    <Fragment>
6
7    <!-- ************************* Custom Actions for IIS7 INSTALL ***************************************** -->
8
9    <CustomAction Id="MapGuideIIS7_I_AppCmd_Cmd" Property="AppCmd" Execute="immediate" Value="&quot;[WindowsFolder]system32\inetsrv\APPCMD.EXE&quot;" />
10
11    <!-- IIS7 Base MapGuide INSTALL -->
12
13    <!-- Create the application pool -->
14    <CustomAction Id="MapGuideIIS7_I_CreateAppPool_Cmd" Property="MapGuideIIS7_I_CreateAppPool" Execute="immediate"
15        Value="[AppCmd] add apppool /name:&quot;[APP_POOL_NAME]&quot; /managedRuntimeVersion:&quot;[ASPNETVERSION]&quot;" />
16    <CustomAction Id="MapGuideIIS7_I_CreateAppPool" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
17
18    <!-- Set up FastCGI -->
19    <CustomAction Id="MapGuideIIS7_I_CreateFastCgi_Cmd" Property="MapGuideIIS7_I_CreateFastCgi" Execute="immediate"
20            Value="[AppCmd] set config /section:system.webServer/fastCGI &quot;/+[\[]fullPath='[PHPLOCATION]php-cgi.exe'[\]]&quot;" />
21    <CustomAction Id="MapGuideIIS7_I_CreateFastCgi" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
22
23    <!-- Set the application pool's properties -->
24    <CustomAction Id="MapGuideIIS7_I_SetAppPoolProp_Cmd" Property="MapGuideIIS7_I_SetAppPoolProp" Execute="immediate"
25        Value="[AppCmd] set config /section:applicationPools /[\[]name='[APP_POOL_NAME]'[\]].processModel.idleTimeout:00:00:00  /[\[]name='[APP_POOL_NAME]'[\]].recycling.disallowOverlappingRotation:True" />
26    <CustomAction Id="MapGuideIIS7_I_SetAppPoolProp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
27
28    <!-- Unlock handlers at the server level -->
29    <CustomAction Id="MapGuideIIS7_I_UnlockSrvHandlers_Cmd" Property="MapGuideIIS7_I_UnlockSrvHandlers" Execute="immediate"
30        Value="[AppCmd] unlock config /section:handlers" />
31    <CustomAction Id="MapGuideIIS7_I_UnlockSrvHandlers" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
32
33    <!-- Unlock handlers at the website level -->
34    <CustomAction Id="MapGuideIIS7_I_UnlockSiteHandlers_Cmd" Property="MapGuideIIS7_I_UnlockSiteHandlers" Execute="immediate"
35        Value="[AppCmd] unlock config &quot;[MG_WEBSITE]&quot; /section:handlers" />
36    <CustomAction Id="MapGuideIIS7_I_UnlockSiteHandlers" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
37
38    <!-- Create the "mapguide" virtual directory / app -->
39    <CustomAction Id="MapGuideIIS7_I_CreateMapGuideApp_Cmd" Property="MapGuideIIS7_I_CreateMapGuideApp" Execute="immediate"
40        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www&quot;" />
41    <CustomAction Id="MapGuideIIS7_I_CreateMapGuideApp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
42
43    <!-- ASP.net compatibility setting to allow selection XML strings to be passed in .net -->
44    <CustomAction Id="MapGuideIIS7_I_SelectXmlCompat_Cmd" Property="MapGuideIIS7_I_SelectXmlCompat" Execute="immediate"
45        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot; /section:system.web/httpRuntime /requestValidationMode:2.0" />
46    <CustomAction Id="MapGuideIIS7_I_SelectXmlCompat" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
47
48    <!-- Set up the PHP script mapping to FastCGI -->
49    <CustomAction Id="MapGuideIIS7_I_CreatePhpScriptMapping_Cmd" Property="MapGuideIIS7_I_CreatePhpScriptMapping" Execute="immediate"
50        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot; /section:handlers /+[\[]name='&quot;[PHP_FCGI_HANDLER_NAME]&quot;',path='*.php',verb='*',scriptProcessor='&quot;[PHPLOCATION]php-cgi.exe&quot;',modules='FastCgiModule',resourceType='File',requireAccess='Script'[\]]" />
51    <CustomAction Id="MapGuideIIS7_I_CreatePhpScriptMapping" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
52
53    <!-- Create the MapAgent application -->
54    <CustomAction Id="MapGuideIIS7_I_CreateMapAgentApp_Cmd" Property="MapGuideIIS7_I_CreateMapAgentApp" Execute="immediate"
55        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/mapagent&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\mapagent&quot;" />
56    <CustomAction Id="MapGuideIIS7_I_CreateMapAgentApp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
57
58    <!-- Unlock handlers at the MapAgent level -->
59    <CustomAction Id="MapGuideIIS7_I_SetMapAgentHandlerAccess_Cmd" Property="MapGuideIIS7_I_SetMapAgentHandlerAccess" Execute="immediate"
60        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapagent&quot; /section:handlers /accessPolicy:Read,Script,Execute" />
61    <CustomAction Id="MapGuideIIS7_I_SetMapAgentHandlerAccess" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
62
63    <!-- Set up the MapAgent script mapping -->
64    <CustomAction Id="MapGuideIIS7_I_CreateMapAgentScriptHandling_Cmd" Property="MapGuideIIS7_I_CreateMapAgentScriptHandling" Execute="immediate"
65        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapagent&quot; /section:handlers /+[\[]name='&quot;[MAPAGENT_ISAPI_NAME]&quot;',path='mapagent.fcgi',verb='*',scriptProcessor='&quot;[WEBEXTENSIONSLOCATION]www\mapagent\isapi_MapAgent.dll&quot;',modules='IsapiModule'[\]]" />
66    <CustomAction Id="MapGuideIIS7_I_CreateMapAgentScriptHandling" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
67
68    <!-- Allow access to the MapAgent ISAPI -->
69    <CustomAction Id="MapGuideIIS7_I_EnableMapAgentExtension_Cmd" Property="MapGuideIIS7_I_EnableMapAgentExtension" Execute="immediate"
70        Value="[AppCmd] set config /section:isapiCgiRestriction /+[\[]path='&quot;[WEBEXTENSIONSLOCATION]www\mapagent\isapi_MapAgent.dll&quot;',allowed='True',description='&quot;[MAPAGENT_ISAPI_NAME]&quot;'[\]]" />
71    <CustomAction Id="MapGuideIIS7_I_EnableMapAgentExtension" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
72
73    <!-- Set App Pool to 32-bit mode (applies to 64-bit windows) -->
74    <CustomAction Id="MapGuideIIS7_I_Set32BitAppPool_Cmd" Property="MapGuideIIS7_I_Set32BitAppPool" Execute="immediate"
75        Value="[AppCmd] set apppool /apppool.name:&quot;[APP_POOL_NAME]&quot; /enable32BitAppOnWin64:true" />
76    <CustomAction Id="MapGuideIIS7_I_Set32BitAppPool" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no" />
77       
78    <!-- Make the MapGuide application run in the MapGuide app pool -->
79    <CustomAction Id="MapGuideIIS7_I_AssignMapGuideAppPool_Cmd" Property="MapGuideIIS7_I_AssignMapGuideAppPool" Execute="immediate"
80        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
81    <CustomAction Id="MapGuideIIS7_I_AssignMapGuideAppPool" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
82
83    <!-- Make the MapAgent application run in the MapGuide app pool -->
84    <CustomAction Id="MapGuideIIS7_I_AssignMapAgentAppPool_Cmd" Property="MapGuideIIS7_I_AssignMapAgentAppPool" Execute="immediate"
85        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapagent&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
86    <CustomAction Id="MapGuideIIS7_I_AssignMapAgentAppPool" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
87
88    <!-- Unlock the httpErrors configuration section for the entire server -->
89    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsMain_Cmd" Property="MapGuideIIS7_I_UnlockHttpErrorsMain" Execute="immediate"
90        Value="[AppCmd] unlock config /section:httpErrors" />
91    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsMain" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
92
93    <!-- Unlock the httpErrors configuration section for the web site -->
94    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsWebSite_Cmd" Property="MapGuideIIS7_I_UnlockHttpErrorsWebSite" Execute="immediate"
95        Value="[AppCmd] unlock config &quot;[MG_WEBSITE]&quot; /section:httpErrors" />
96    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsWebSite" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
97
98    <!-- Unlock the httpErrors configuration section for the MapGuide application -->
99    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsMapGuide_Cmd" Property="MapGuideIIS7_I_UnlockHttpErrorsMapGuide" Execute="immediate"
100        Value="[AppCmd] unlock config &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot; /section:httpErrors" />
101    <CustomAction Id="MapGuideIIS7_I_UnlockHttpErrorsMapGuide" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
102
103    <!-- Reset the 401 error handlers to their default undecorated responses -->
104    <CustomAction Id="MapGuideIIS7_I_Reset401Handler_Cmd" Property="MapGuideIIS7_I_Reset401Handler" Execute="immediate"
105        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot; /section:httpErrors /-[\[]statusCode='401'[\]]" />
106    <CustomAction Id="MapGuideIIS7_I_Reset401Handler" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
107
108    <!-- Add a MIME type for JSON -->
109    <CustomAction Id="MapGuideIIS7_I_AddJsonMime_Cmd" Property="MapGuideIIS7_I_AddJsonMime" Execute="immediate"
110        Value="[AppCmd] set config /section:staticContent /+&quot;[\[]fileExtension='.json',mimeType='application/json'[\]]&quot;" />
111    <CustomAction Id="MapGuideIIS7_I_AddJsonMime" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
112
113    <!-- ************************* IIS7 PHP Viewer INSTALL ***************************************** -->
114
115    <!-- Create the application / virtual directory pointing mapviewerajax to mapviewerphp  -->
116    <CustomAction Id="MapGuideIIS7_I_CreateViewerPhp_Cmd" Property="MapGuideIIS7_I_CreateViewerPhp" Execute="immediate"
117        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/mapviewerajax&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\mapviewerphp&quot;" />
118    <CustomAction Id="MapGuideIIS7_I_CreateViewerPhp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
119
120    <!-- Set the default document for mapviewerajax to ajaxviewer.php -->
121    <CustomAction Id="MapGuideIIS7_I_SetViewerDocPhp_Cmd" Property="MapGuideIIS7_I_SetViewerDocPhp" Execute="immediate"
122        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewerajax&quot; /section:defaultDocument /+files.[\[]value='ajaxviewer.php'[\]]" />
123    <CustomAction Id="MapGuideIIS7_I_SetViewerDocPhp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
124
125    <!-- Make the MapAgent application run in the MapGuide app pool -->
126    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolPhp_Cmd" Property="MapGuideIIS7_I_AssignViewerAppPoolPhp" Execute="immediate"
127        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewerajax&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
128    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolPhp" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
129
130    <!--
131    PHP viewer/devguide samples fortunately do not require explicit set up in IIS7, as they should inherit
132    the parent virtual dir settings, which know how to process PHP files
133    -->
134       
135    <!-- ************************* IIS7 ASP.Net Viewer INSTALL ***************************************** -->
136
137    <!-- Create the MapAgent application -->
138    <CustomAction Id="MapGuideIIS7_I_CreateViewerNet_Cmd" Property="MapGuideIIS7_I_CreateViewerNet" Execute="immediate"
139        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/mapviewerajax&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\mapviewernet&quot;" />
140    <CustomAction Id="MapGuideIIS7_I_CreateViewerNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
141
142    <!-- Set the default document for mapviewerajax to ajaxviewer.aspx -->
143    <CustomAction Id="MapGuideIIS7_I_SetViewerDocNet_Cmd" Property="MapGuideIIS7_I_SetViewerDocNet" Execute="immediate"
144        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewerajax&quot; /section:defaultDocument /+files.[\[]value='ajaxviewer.aspx'[\]]" />
145    <CustomAction Id="MapGuideIIS7_I_SetViewerDocNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
146
147    <!-- Make the MapAgent application run in the MapGuide app pool -->
148    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolNet_Cmd" Property="MapGuideIIS7_I_AssignViewerAppPoolNet" Execute="immediate"
149        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewerajax&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
150    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
151
152    <!-- Create the mapviewernet application -->
153    <CustomAction Id="MapGuideIIS7_I_CreateMapViewerNet_Cmd" Property="MapGuideIIS7_I_CreateMapViewerNet" Execute="immediate"
154        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/mapviewernet&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\mapviewernet&quot;" />
155    <CustomAction Id="MapGuideIIS7_I_CreateMapViewerNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
156
157    <!-- Set the default document for mapviewernet to ajaxviewer.aspx -->
158    <CustomAction Id="MapGuideIIS7_I_SetMapViewerDocNet_Cmd" Property="MapGuideIIS7_I_SetMapViewerDocNet" Execute="immediate"
159        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewernet&quot; /section:defaultDocument /+files.[\[]value='ajaxviewer.aspx'[\]]" />
160    <CustomAction Id="MapGuideIIS7_I_SetMapViewerDocNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
161
162    <!-- Make the mapviewernet application run in the MapGuide app pool -->
163    <CustomAction Id="MapGuideIIS7_I_AssignMapViewerAppPoolNet_Cmd" Property="MapGuideIIS7_I_AssignMapViewerAppPoolNet" Execute="immediate"
164        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewernet&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
165    <CustomAction Id="MapGuideIIS7_I_AssignMapViewerAppPoolNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
166
167    <!-- Create the dotnetviewersample application -->
168    <CustomAction Id="MapGuideIIS7_I_CreateViewerSampleNet_Cmd" Property="MapGuideIIS7_I_CreateViewerSampleNet" Execute="immediate"
169        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/dotnetviewersample&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\dotnetviewersample&quot;" />
170    <CustomAction Id="MapGuideIIS7_I_CreateViewerSampleNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
171
172    <!-- Set the default document for dotnetviewersample to ajaxviewersample.aspx -->
173    <CustomAction Id="MapGuideIIS7_I_SetViewerDocViewerSampleNet_Cmd" Property="MapGuideIIS7_I_SetViewerDocViewerSampleNet" Execute="immediate"
174        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetviewersample&quot; /section:defaultDocument /+files.[\[]value='ajaxviewersample.aspx'[\]]" />
175    <CustomAction Id="MapGuideIIS7_I_SetViewerDocViewerSampleNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
176
177    <!-- Make the dotnetviewersample application run in the MapGuide app pool -->
178    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolViewerSampleNet_Cmd" Property="MapGuideIIS7_I_AssignViewerAppPoolViewerSampleNet" Execute="immediate"
179        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetviewersample&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
180    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolViewerSampleNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
181
182    <!-- Create the dotnetsamples application -->
183    <CustomAction Id="MapGuideIIS7_I_CreateViewerDevGuideSamplesNet_Cmd" Property="MapGuideIIS7_I_CreateViewerDevGuideSamplesNet" Execute="immediate"
184        Value="[AppCmd] add app /site.name:&quot;[MG_WEBSITE]&quot; /path:&quot;/[VIRTUALDIR]/dotnetsamples&quot; /physicalPath:&quot;[WEBEXTENSIONSLOCATION]www\dotnetsamples&quot;" />
185    <CustomAction Id="MapGuideIIS7_I_CreateViewerDevGuideSamplesNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
186
187    <!-- Set the default document for dotnetsamples to main.aspx -->
188    <CustomAction Id="MapGuideIIS7_I_SetViewerDocDevGuideSamplesNet_Cmd" Property="MapGuideIIS7_I_SetViewerDocDevGuideSamplesNet" Execute="immediate"
189        Value="[AppCmd] set config &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetsamples&quot; /section:defaultDocument /+files.[\[]value='main.aspx'[\]]" />
190    <CustomAction Id="MapGuideIIS7_I_SetViewerDocDevGuideSamplesNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
191
192    <!-- Make the dotnetsamples application run in the MapGuide app pool -->
193    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolDevGuideSamplesNet_Cmd" Property="MapGuideIIS7_I_AssignViewerAppPoolDevGuideSamplesNet" Execute="immediate"
194        Value="[AppCmd] set app &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetsamples&quot; /applicationPool:&quot;[APP_POOL_NAME]&quot;" />
195    <CustomAction Id="MapGuideIIS7_I_AssignViewerAppPoolDevGuideSamplesNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
196       
197    <!-- ************************* IIS7 All Features UNINSTALL ***************************************** -->
198
199    <CustomAction Id="MapGuideIIS7_U_AppCmd_Cmd" Property="AppCmd" Execute="immediate" Value="&quot;[WindowsFolder]system32\inetsrv\APPCMD.EXE&quot;" />
200
201    <!--
202    FIXME: If [VIRTUALDIR] changes at install-time. That same value is not used again at uninstall-time.
203    ie. If you install with VIRTUALDIR=mapguide24 it will still uninstall with VIRTUALDIR=mapguide
204   
205    Obviously, we need to persist this value somewhere upon installation, which can be read when we uninstall
206    -->
207
208    <!-- Remove entry in ISAPI/CGI Restrictions for the MapAgent -->
209    <CustomAction Id="MapGuideIIS7_U_ClearMapAgentRestriction_Cmd" Property="MapGuideIIS7_U_ClearMapAgentRestriction" Execute="immediate"
210        Value="[AppCmd] set config /section:isapiCgiRestriction /-[\[]path='&quot;[WEBEXTENSIONSLOCATION]www\mapagent\isapi_MapAgent.dll&quot;'[\]]" />
211    <CustomAction Id="MapGuideIIS7_U_ClearMapAgentRestriction" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
212
213    <!-- Remove MapViewerAjax application -->
214    <CustomAction Id="MapGuideIIS7_U_RemoveViewer_Cmd" Property="MapGuideIIS7_U_RemoveViewer" Execute="immediate"
215        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewerajax&quot;" />
216    <CustomAction Id="MapGuideIIS7_U_RemoveViewer" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
217
218    <!-- Remove MapViewerNet application -->
219    <CustomAction Id="MapGuideIIS7_U_RemoveViewerNet_Cmd" Property="MapGuideIIS7_U_RemoveViewerNet" Execute="immediate"
220        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapviewernet&quot;" />
221    <CustomAction Id="MapGuideIIS7_U_RemoveViewerNet" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
222
223    <!-- Remove dotnetsamples application -->
224    <CustomAction Id="MapGuideIIS7_U_RemoveDotNetSamples_Cmd" Property="MapGuideIIS7_U_RemoveDotNetSamples" Execute="immediate"
225        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetsamples&quot;" />
226    <CustomAction Id="MapGuideIIS7_U_RemoveDotNetSamples" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
227
228    <!-- Remove dotnetviewersample application -->
229    <CustomAction Id="MapGuideIIS7_U_RemoveDotNetViewerSample_Cmd" Property="MapGuideIIS7_U_RemoveDotNetViewerSample" Execute="immediate"
230        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]/dotnetviewersample&quot;" />
231    <CustomAction Id="MapGuideIIS7_U_RemoveDotNetViewerSample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
232       
233    <!-- Remove MapAgent application -->
234    <CustomAction Id="MapGuideIIS7_U_RemoveMapAgent_Cmd" Property="MapGuideIIS7_U_RemoveMapAgent" Execute="immediate"
235        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]/mapagent&quot;" />
236    <CustomAction Id="MapGuideIIS7_U_RemoveMapAgent" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
237
238    <!-- Remove MapGuide application -->
239    <CustomAction Id="MapGuideIIS7_U_RemoveMapGuide_Cmd" Property="MapGuideIIS7_U_RemoveMapGuide" Execute="immediate"
240        Value="[AppCmd] delete app &quot;[MG_WEBSITE]/[VIRTUALDIR]&quot;" />
241    <CustomAction Id="MapGuideIIS7_U_RemoveMapGuide" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
242
243    <!-- Remove MapGuide App Pool -->
244    <CustomAction Id="MapGuideIIS7_U_DeleteAppPool_Cmd" Property="MapGuideIIS7_U_DeleteAppPool" Execute="immediate"
245        Value="[AppCmd] delete apppool &quot;[APP_POOL_NAME]&quot;" />
246    <CustomAction Id="MapGuideIIS7_U_DeleteAppPool" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="deferred" Return="ignore" Impersonate="no"/>
247
248  </Fragment>
249</Wix>
Note: See TracBrowser for help on using the repository browser.