mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			310 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			310 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
 | |
|   license agreements. See the NOTICE file distributed with this work for additional
 | |
|   information regarding copyright ownership. The ASF licenses this file to
 | |
|   you under the Apache License, Version 2.0 (the "License"); you may not use
 | |
|   this file except in compliance with the License. You may obtain a copy of
 | |
|   the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
 | |
|   by applicable law or agreed to in writing, software distributed under the
 | |
|   License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
 | |
|   OF ANY KIND, either express or implied. See the License for the specific
 | |
|   language governing permissions and limitations under the License. -->
 | |
| <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi' xmlns:fire='http://schemas.microsoft.com/wix/FirewallExtension' xmlns:util='http://schemas.microsoft.com/wix/UtilExtension'>
 | |
|   <Product Name='!(loc.ProductName)' Id='eea70ed5-5950-4f01-b4aa-4a07636359bb'
 | |
|     UpgradeCode='d6208c34-7b50-4512-b19e-b904dcc1373e' Language='1033'
 | |
|     Codepage='1252' Version='4.4.0' Manufacturer='!(loc.ProductManufacturer)'>
 | |
| 
 | |
|     <Package Id='*' Keywords='Installer' Description="!(loc.PackageDescription)"
 | |
|       Comments='!(loc.PackageComments)'
 | |
|       Manufacturer='!(loc.PackageManufacturer)' Languages='1033' Compressed='yes'
 | |
|       SummaryCodepage='1252' Platform="x64" InstallerVersion="500" />
 | |
| 
 | |
|     <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' DiskPrompt="CD-ROM #1" />
 | |
|     <Property Id='DiskPrompt' Value="Apache Cloud Stack Installation program" />
 | |
| 
 | |
|     <!-- Get JAVA_HOME here -->
 | |
|     <Property Id='JAVA_HOME'>
 | |
|       <RegistrySearch Id="JavaHomeSearch" Name="JavaHome"
 | |
|         Root="HKLM" Key="SOFTWARE\JavaSoft\Java Development Kit\1.7"
 | |
|         Type="raw" Win64="yes" />
 | |
|     </Property>
 | |
|     <Condition
 | |
|       Message="!(loc.Java7ConditionMessage)"><![CDATA[(Installed OR JAVA_HOME)]]></Condition>
 | |
| 
 | |
|     <!-- Get Tomcat6 installation path -->
 | |
|     <Property Id='TOMCATDIRECTORY'>
 | |
|       <RegistrySearch Id="TomcatSearch" Name="InstallPath"
 | |
|         Root="HKLM" Key="SOFTWARE\Apache Software Foundation\Tomcat\6.0\Tomcat6"
 | |
|         Type="raw" Win64="yes" />
 | |
|     </Property>
 | |
|     <Condition
 | |
|       Message="!(loc.Tomcat6ConditionMessage)"><![CDATA[(Installed OR TOMCATDIRECTORY)]]></Condition>
 | |
| 
 | |
|     <!-- Get Python installation path -->
 | |
|     <Property Id='PYTHON_HOME'>
 | |
|       <RegistrySearch Id="PythonSearch" Root="HKLM"
 | |
|         Key="SOFTWARE\Python\PythonCore\2.7\InstallPath" Type="raw"
 | |
|         Win64="yes" />
 | |
|     </Property>
 | |
|     <Condition
 | |
|       Message="!(loc.Python2ConditionMessage)"><![CDATA[(Installed OR PYTHON_HOME)]]></Condition>
 | |
| 
 | |
|     <!-- Get 7Z installation path -->
 | |
|     <Property Id='SEVENZ_HOME'>
 | |
|       <RegistrySearch Id="SecenZSearch" Name="Path" Root="HKLM"
 | |
|         Key="SOFTWARE\7-Zip" Type="raw" Win64="yes" />
 | |
|     </Property>
 | |
|     <Property Id='MYSQL'>
 | |
|       <RegistrySearch Id="MySqlSearch" Name="Location" Root="HKLM" Key="SOFTWARE\Wow6432Node\MySQL AB\MySQL Server 5.1" Type="raw" Win64="yes" />
 | |
|     </Property>
 | |
|     <Condition Message="!(loc.SevenZConditionMessage)"><![CDATA[(Installed OR SEVENZ_HOME)]]></Condition>
 | |
| 
 | |
|     <!-- Properties for Database Related Information to be collected -->
 | |
|     <Property Id="DB_USERNAME" Value="cloud" />
 | |
|     <Property Id="DB_PASSWORD" Value="cloud" Hidden="yes"/>
 | |
|     <Property Id="DB_HOSTNAME" Value="localhost" />
 | |
|     <Property Id="DB_PORT" Value="3306" />
 | |
|     <Property Id="DB_ROOT_PASSWORD" Hidden="yes"/>
 | |
| 
 | |
|     <Directory Id='TARGETDIR' Name='SourceDir'>
 | |
|       <Directory Id='ProgramFilesFolder' Name='PFiles'>
 | |
|         <Directory Id='Acme' Name='Apache'>
 | |
|           <Directory Id='INSTALLDIR' Name='CS'>
 | |
|             <Component Id='MainExecutable'
 | |
|               Guid='5980d204-a63a-45db-a7e8-cbd50b2d314b'>
 | |
|               <CreateFolder />
 | |
|               <Environment Id="CLOUDSTACK_HOME" Action="set"
 | |
|                 Name="CLOUDSTACK_HOME" Permanent="no" System="yes"
 | |
|                 Value="[INSTALLDIR]." />
 | |
|               <Environment Id="CATALINA_BASE" Action="set"
 | |
|                 Name="CATALINA_BASE" Permanent="no" System="yes"
 | |
|                 Value="[INSTALLDIR]." />
 | |
|               <Environment Id="CATALINA_OPTS" Action="set"
 | |
|                 Name="CATALINA_OPTS" Permanent="no" System="yes"
 | |
|                 Value="-XX:MaxPermSize=512m -Xmx1024m -Xms256m" />
 | |
|               <Environment Id="Path" Action="set" Name="Path"
 | |
|                 Permanent="no" System="yes" Part="last"
 | |
|                 Value="[JAVA_HOME]bin;[PYTHON_HOME];[SEVENZ_HOME];[ProgramFilesFolder]cdrtools;[MYSQL]bin;[INSTALLDIR]scripts" />
 | |
|               <Environment Id="PATHEXT" Action="set" Name="PATHEXT"
 | |
|                 Permanent="no" System="yes" Part="last"
 | |
|                 Value=".py" />
 | |
|             </Component>
 | |
|             <Component Id='setuptools' Guid='019a51dd-7fc4-4d6c-9277-13cc7b600789'>
 | |
|               <File Id="ez_setup" Source="ez_setup.py" />
 | |
|             </Component>
 | |
|           </Directory>
 | |
|         </Directory>
 | |
|       </Directory>
 | |
| 
 | |
|       <Directory Id="ProgramMenuFolder" Name="Programs">
 | |
|         <Directory Id="ProgramMenuDir" Name="ACS">
 | |
|           <Component Id="ProgramMenuDir" Guid="69932d81-ea9c-4a74-9013-7da61f291090">
 | |
|             <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
 | |
|             <RegistryValue Root='HKCU'
 | |
|               Key='Software\[Manufacturer]\[ProductName]' Type='string'
 | |
|               Value='' KeyPath='yes' />
 | |
|           </Component>
 | |
|         </Directory>
 | |
|       </Directory>
 | |
|     </Directory>
 | |
|     <Property Id='TOMCATIMAGEPATH'>
 | |
|       <RegistrySearch Id="TomcatImagePath" Name="ImagePath"
 | |
|         Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\Tomcat6"
 | |
|         Type="raw" Win64="yes" />
 | |
|     </Property>
 | |
|     <util:Group Id="Administrators" Name="Administrators"/>
 | |
|     <Component Id="ServiceInstaller" Directory="INSTALLDIR"
 | |
|       Guid="dfebb4bb-cac0-4cef-aa91-342bafa18349">
 | |
|       <util:User Id="AccountCreation" CreateUser="yes" FailIfExists="no" Name="cloud" Password="C!0ud" RemoveOnUninstall="yes" UpdateIfExists="yes" LogonAsService="yes">
 | |
|         <util:GroupRef Id="Administrators" />
 | |
|       </util:User>
 | |
|       <File Id='ACSServiceEXEFile' Name='start.exe' Source='start.bat'
 | |
|         KeyPath='yes' />
 | |
|       <ServiceInstall Id='InstallACSService' Name='ACSService'
 | |
|         Description='ACS Service' ErrorControl='normal' Start='auto'
 | |
|         Type='ownProcess' Vital='yes'>
 | |
|         <util:PermissionEx User="cloud" GenericAll="yes" ServiceStart="yes" ServiceStop="yes" ServicePauseContinue="yes" ServiceInterrogate="yes" ServiceChangeConfig="yes" ServiceEnumerateDependents="yes"
 | |
|           ServiceQueryConfig="yes" ServiceQueryStatus="yes" ServiceUserDefinedControl="yes" />
 | |
|       </ServiceInstall>
 | |
|       <ServiceControl Id='UninstallACSService' Name='ACSService'
 | |
|         Remove='uninstall' Wait='yes' />
 | |
|       <RegistryValue Root='HKLM'
 | |
|         Key='SYSTEM\CurrentControlSet\Services\ACSService' Name="ImagePath"
 | |
|         Type='expandable' Value='[TOMCATIMAGEPATH]' />
 | |
|     </Component>
 | |
|     <DirectoryRef Id="INSTALLDIR">
 | |
|       <Directory Id="CSMANAGEMENT" Name="cloudstack-management">
 | |
|         <Directory Id="WEBAPPS" Name="webapps">
 | |
|           <Component Id="webappsFolder" Guid="53c03092-438f-4da1-b14d-ceee90c79de0">
 | |
|             <CreateFolder />
 | |
|           </Component>
 | |
|         </Directory>
 | |
|       </Directory>
 | |
|     </DirectoryRef>
 | |
|     <DirectoryRef Id="WEBAPPS">
 | |
|       <Component Id="copyToConf" Guid="99da8926-1eec-4a7f-ac7f-1326d8e73ea0"
 | |
|         KeyPath="yes">
 | |
|         <File Id="server.xml" Source="client\WEB-INF\classes\server-nonssl.xml"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="copyServerXML" DestinationName="server.xml"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="tomcat6.conf" Source="client\WEB-INF\classes\tomcat6-nonssl.conf"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="copyTomcat6ConfXML" DestinationName="tomcat6.conf"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="web.xml" Source="client\WEB-INF\classes\web.xml"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="copyWebXML" DestinationName="web.xml"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="log4j_cloud.xml" Source="client\WEB-INF\classes\log4j-cloud.xml"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="log4j_cloudxml" DestinationName="log4j-cloud.xml"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="environment.properties" Source="client\WEB-INF\classes\environment.properties"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="environmentproperties" DestinationName="environment.properties"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="classpath.conf" Source="client\WEB-INF\classes\classpath.conf"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="classpathconf" DestinationName="classpath.conf"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="catalina.properties" Source="client\WEB-INF\classes\catalina.properties"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="catalinaproperties" DestinationName="catalina.properties"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="tomcat_users.xml" Source="client\WEB-INF\classes\tomcat-users.xml"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="tomcat_usersxml" DestinationName="tomcat-users.xml"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="catalina.policy" Source="client\WEB-INF\classes\catalina.policy"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="catalinapolicy" DestinationName="catalina.policy"
 | |
|             DestinationDirectory="CONF" />
 | |
|         </File>
 | |
|         <File Id="db.properties" Source="client\WEB-INF\classes\db.properties"
 | |
|           Checksum="no">
 | |
|           <CopyFile Id="dbproperties" DestinationName="db.properties"
 | |
|             DestinationDirectory="LIB" />
 | |
|         </File>
 | |
|       </Component>
 | |
|     </DirectoryRef>
 | |
|     <DirectoryRef Id="CSMANAGEMENT">
 | |
|       <Directory Id="CONF" Name="conf">
 | |
|         <Component Id="confFolder" Guid="ad227f7d-6808-4bdf-8ac6-3b2954d51b96">
 | |
|           <CreateFolder />
 | |
|         </Component>
 | |
|       </Directory>
 | |
|     </DirectoryRef>
 | |
|     <DirectoryRef Id="CSMANAGEMENT">
 | |
|       <Directory Id="LIB" Name="lib">
 | |
|         <Component Id="libFolder" Guid="d338841e-2ea4-48b3-ab48-9c42e2961600">
 | |
|           <CreateFolder />
 | |
|         </Component>
 | |
|       </Directory>
 | |
|     </DirectoryRef>
 | |
|     <Component Id="firewallRules" Guid="2d056999-8191-41a0-94e0-e6dfcc188417"
 | |
|       Directory="INSTALLDIR">
 | |
|       <CreateFolder />
 | |
|       <fire:FirewallException Id="p_8080" Name="port_8080"
 | |
|         Description="for cloudstack management server" Port="8080"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
|       <fire:FirewallException Id="p_8096" Name="port_8096"
 | |
|         Description="for cloudstack management server admin" Port="8096"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
|       <fire:FirewallException Id="p_8787" Name="port_8787"
 | |
|         Description="for cloudstack management server" Port="8787"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
|       <fire:FirewallException Id="p_9090" Name="port_9090"
 | |
|         Description="for cloudstack management server" Port="9090"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
| 
 | |
|       <fire:FirewallException Id="p_3922" Name="port_3922"
 | |
|         Description="for cloudstack management server" Port="3922"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
|       <fire:FirewallException Id="p_8250" Name="port_8250"
 | |
|         Description="for cloudstack management server" Port="8250"
 | |
|         Profile="all" Protocol="tcp" Scope="any" />
 | |
|     </Component>
 | |
| 
 | |
|     <!-- Updating Tomcat's catalina base -->
 | |
|     <CustomAction Id="TomcatPath" Property="TOMCATDIRECTORY1"
 | |
|       Value="[TOMCATDIRECTORY]\bin\Tomcat6.exe">
 | |
|     </CustomAction>
 | |
|     <CustomAction Id="UpdateTomcatCatalinaBase"
 | |
|       ExeCommand='//US//Tomcat6 --JvmOptions=-Dcatalina.base=[CSMANAGEMENT];-Djava.io.tmpdir=[CSMANAGEMENT]\temp;-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager;-Dcatalina.home="[TOMCATDIRECTORY]";-Xms512m;-Xmx1024m;-XX:MaxPermSize=512m;-Duser.name=cloud'
 | |
|       Property="TOMCATDIRECTORY1" Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="UpdateTomcatClassPath"
 | |
|       ExeCommand='//US//Tomcat6 --Classpath="[TOMCATDIRECTORY]\bin\bootstrap.jar";"[TOMCATDIRECTORY]\bin\tomcat-juli.jar";[CSMANAGEMENT]\conf;[CSMANAGEMENT]\lib;[CSMANAGEMENT]\setup'
 | |
|       Property="TOMCATDIRECTORY1" Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="CopySitePackages" Directory='INSTALLDIR'
 | |
|       ExeCommand='[SystemFolder]cmd.exe /c xcopy /S "[INSTALLDIR]\python-site-packages" [PYTHON_HOME]\Lib\site-packages'
 | |
|       Execute="deferred" Return="check"/>
 | |
|     <CustomAction Id="DeleteDirectory" Directory='INSTALLDIR'
 | |
|       ExeCommand='[SystemFolder]cmd.exe /c RD /S /Q "[INSTALLDIR]\python-site-packages"'
 | |
|       Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="DeleteFiles" Directory='CSMANAGEMENT'
 | |
|       ExeCommand='[SystemFolder]cmd.exe /c del "[CSMANAGEMENT]\webapps\client\WEB-INF\classes\db.properties" "[CSMANAGEMENT]\webapps\client\WEB-INF\classes\log4j*.xml"'
 | |
|       Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="SetuptoolsInstallation" Directory='INSTALLDIR'
 | |
|       ExeCommand='[PYTHON_HOME]\python "[INSTALLDIR]\ez_setup.py"'
 | |
|       Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="GenerateSSLKey" Directory='CSMANAGEMENT'
 | |
|       ExeCommand='[PYTHON_HOME]\python "[CSMANAGEMENT]\webapps\client\WEB-INF\classes\scripts\common\keys\ssl-keys.py" "[CSMANAGEMENT]\lib"'
 | |
|       Execute="deferred" Return="check" />
 | |
|     <CustomAction Id="DbHostWithPort" Execute="immediate" Property="DB_HOSTNAME" Value="[DB_HOSTNAME]:[DB_PORT]" />
 | |
|     <CustomAction Id="DeployDB" Directory='CSMANAGEMENT'
 | |
|       ExeCommand='[PYTHON_HOME]\python "[INSTALLDIR]\scripts\cloud-setup-databases" [DB_USERNAME]:[DB_PASSWORD]@[DB_HOSTNAME] --deploy-as=root:[DB_ROOT_PASSWORD] -c "[CSMANAGEMENT]\lib" -f "[CSMANAGEMENT]\setup" -j "[CSMANAGEMENT]\webapps\client\WEB-INF\lib\jasypt-1.9.0.jar" -n "[CSMANAGEMENT]\lib\key" -b "[MYSQL]\bin"'
 | |
|       Execute="deferred" Return="check" Impersonate="no"/>
 | |
|     <CustomAction Id="SetupDatabases" Directory='CSMANAGEMENT'
 | |
|       ExeCommand='[PYTHON_HOME]\python "[INSTALLDIR]\scripts\cloud-setup-databases" [DB_USERNAME]:[DB_PASSWORD]@[DB_HOSTNAME] -c "[CSMANAGEMENT]\lib" -f "[CSMANAGEMENT]\setup" -j "[CSMANAGEMENT]\webapps\client\WEB-INF\lib\jasypt-1.9.0.jar" -n "[CSMANAGEMENT]\lib\key" -b "[MYSQL]\bin"'
 | |
|       Execute="deferred" Return="check" Impersonate="no"/>
 | |
| 
 | |
|     <InstallExecuteSequence>
 | |
|       <InstallServices Sequence="4990"></InstallServices>
 | |
|       <Custom Action="TomcatPath" Before="UpdateTomcatClassPath">NOT Installed</Custom>
 | |
|       <Custom Action="UpdateTomcatClassPath" Before="UpdateTomcatCatalinaBase">NOT Installed
 | |
|       </Custom>
 | |
|       <Custom Action="UpdateTomcatCatalinaBase" Before="DeleteFiles">NOT
 | |
|         Installed</Custom>
 | |
|       <Custom Action="DeleteFiles" Before="SetuptoolsInstallation">NOT Installed</Custom>
 | |
|       <Custom Action="SetuptoolsInstallation" Before="GenerateSSLKey">NOT Installed</Custom>
 | |
|       <Custom Action="GenerateSSLKey" After="PublishProduct">NOT Installed
 | |
|       </Custom>
 | |
|       <Custom Action="CopySitePackages" After="GenerateSSLKey">NOT Installed</Custom>
 | |
|       <Custom Action="DeleteDirectory" After="CopySitePackages">NOT Installed</Custom>
 | |
|       <Custom Action="DbHostWithPort" After="InstallFiles"><![CDATA[DB_PORT]]></Custom>
 | |
|       <Custom Action="DeployDB" After="DeleteDirectory">(NOT Installed) AND (CREATE_DATABASE = "1")
 | |
|       </Custom>
 | |
|       <Custom Action="SetupDatabases" After="DeleteDirectory">(NOT Installed) AND (<![CDATA[CREATE_DATABASE <> "1"]]>)
 | |
|       </Custom>
 | |
|     </InstallExecuteSequence>
 | |
|     <Feature Id='Complete' Title='!(loc.ProductName)' Description='!(loc.FeatureDescription2)'
 | |
|       Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
 | |
|       <Feature Id='MainProgram' Title='!(loc.FeatureTitle1)' Description='!(loc.FeatureDescription1)'
 | |
|         Level='1'>
 | |
|         <ComponentRef Id='webappsFolder' />
 | |
|         <ComponentGroupRef Id='ClientPath' />
 | |
|         <ComponentGroupRef Id='SetupPath' />
 | |
|         <ComponentGroupRef Id='UtilitiesPath' />
 | |
|         <ComponentGroupRef Id='PythonSitePackagesPath' />
 | |
|         <ComponentRef Id='ProgramMenuDir' />
 | |
|         <ComponentRef Id='confFolder' />
 | |
|         <ComponentRef Id='libFolder' />
 | |
|         <ComponentRef Id='copyToConf' />
 | |
|         <ComponentRef Id='firewallRules' />
 | |
|         <ComponentRef Id='MainExecutable' />
 | |
|         <ComponentRef Id='setuptools' />
 | |
|         <ComponentRef Id='ServiceInstaller' />
 | |
|       </Feature>
 | |
|     </Feature>
 | |
| 		<UIRef Id="WixUI_Mondo_Custom" />
 | |
| 		<UIRef Id="WixUI_ErrorProgressText" />
 | |
|   </Product>
 | |
| </Wix> |