mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
286 lines
15 KiB
XML
286 lines
15 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'>
|
|
<Product Name='ACS' Id='eea70ed5-5950-4f01-b4aa-4a07636359bb'
|
|
UpgradeCode='d6208c34-7b50-4512-b19e-b904dcc1373e' Language='1033'
|
|
Codepage='1252' Version='4.4.0' Manufacturer='Apache Cloud Stack'>
|
|
|
|
<Package Id='*' Keywords='Installer' Description="Apache Cloud Stack Installer"
|
|
Comments='Foobar is a registered trademark of Acme Ltd.'
|
|
Manufacturer='Apache' 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="Java 7 Is not Installed. Please Install Java 7 and then try"><![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="Apache tomcat6 is not installed please do install tomcat6 and then try"><![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="Python 2.7 is not installed Please do install python and then try"><![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>
|
|
<Condition Message="7Z is not installed please do install 7z and then try"><![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_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="yes" System="yes" Part="last"
|
|
Value="[JAVA_HOME]\bin;[PYTHON_HOME];[SEVENZ_HOME]" />
|
|
</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>
|
|
<Component Id="ServiceInstaller" Directory="INSTALLDIR"
|
|
Guid="dfebb4bb-cac0-4cef-aa91-342bafa18349">
|
|
<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' />
|
|
<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'
|
|
Property="TOMCATDIRECTORY1" Execute="commit" 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="commit" Return="check" />
|
|
<CustomAction Id="CopySitePackages" Directory='INSTALLDIR'
|
|
ExeCommand='[SystemFolder]cmd.exe /c xcopy /S "[INSTALLDIR]\python-site-packages" [PYTHON_HOME]\Lib\site-packages'
|
|
Execute="commit" Return="check" />
|
|
<CustomAction Id="DeleteDirectory" Directory='INSTALLDIR'
|
|
ExeCommand='[SystemFolder]cmd.exe /c RD /S /Q "[INSTALLDIR]\python-site-packages"'
|
|
Execute="commit" 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="commit" 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="commit" Return="check" />
|
|
<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"'
|
|
Execute="commit" Return="check" />
|
|
<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"'
|
|
Execute="commit" Return="check" />
|
|
|
|
<InstallExecuteSequence>
|
|
<InstallServices Sequence="4999"></InstallServices>
|
|
<Custom Action="TomcatPath" Before="UpdateTomcatClassPath">NOT Installed</Custom>
|
|
<Custom Action="UpdateTomcatClassPath" Before="UpdateTomcatCatalinaBase">NOT Installed
|
|
</Custom>
|
|
<Custom Action="UpdateTomcatCatalinaBase" Before="CopySitePackages">NOT
|
|
Installed</Custom>
|
|
<Custom Action="CopySitePackages" Before="DeleteFiles">NOT Installed</Custom>
|
|
<Custom Action="DeleteFiles" Before="DeleteDirectory">NOT Installed</Custom>
|
|
<Custom Action="DeleteDirectory" Before="GenerateSSLKey">NOT Installed</Custom>
|
|
<Custom Action="GenerateSSLKey" Before="InstallFinalize">NOT Installed
|
|
</Custom>
|
|
<Custom Action="DeployDB" Before="InstallFinalize">(NOT Installed) AND (CREATE_DATABASE = "1")
|
|
</Custom>
|
|
<Custom Action="SetupDatabases" Before="InstallFinalize">(NOT Installed) AND (<![CDATA[CREATE_DATABASE <> "1"]]>)
|
|
</Custom>
|
|
</InstallExecuteSequence>
|
|
<Feature Id='Complete' Title='ACS' Description='The complete package.'
|
|
Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR'>
|
|
<Feature Id='MainProgram' Title='Program' Description='The main executable.'
|
|
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='ServiceInstaller' />
|
|
</Feature>
|
|
</Feature>
|
|
<UIRef Id="WixUI_Mondo_Custom" />
|
|
<UIRef Id="WixUI_ErrorProgressText" />
|
|
</Product>
|
|
</Wix> |