Moved under "windows" dir.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.bin"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.comp"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.compspec"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.documentation"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,290 @@
|
||||
<?xml version="1.0"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<?include ..\..\includes\Preprocessors.wxi?>
|
||||
<?ifdef EiffelEnvision?>
|
||||
|
||||
<!--
|
||||
This include document is included under the Package node so you are free to define new directories, properties and features.
|
||||
Note: A directory is created for INSTALLDIR and TARGETDIR so please use DirectoryRef to reference them.
|
||||
-->
|
||||
<Fragment>
|
||||
|
||||
<!-- PROPERTIES -->
|
||||
<?ifndef VsName?>
|
||||
<!-- Name of Visual Studio .NET to support -->
|
||||
<?define VsName = "Visual Studio 2005"?>
|
||||
<?endif?>
|
||||
<?ifndef VsVersion?>
|
||||
<!-- Version of Visual Studio .NET to support -->
|
||||
<?define VsVersion = "8.0"?>
|
||||
<?endif?>
|
||||
<?ifndef LangName?>
|
||||
<!-- Eiffel language name in visual studio -->
|
||||
<?define LangName = "Eiffel"?>
|
||||
<?endif?>
|
||||
<Property Id="VSINSTALL">0<RegistrySearch Id="Reg.vs_install" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\$(var.VsVersion)\Setup\VS" Name="ProductDir" Win64="no" Type="directory"/></Property>
|
||||
<!-- END PROPERTIES -->
|
||||
|
||||
<!-- LAUNCH CONDITIONS -->
|
||||
<Condition Message="$(var.VsName) ($(var.VsVersion)) must be installed prior to installing [ProductName]."><![CDATA[Installed or VSINSTALL <> "0"]]></Condition>
|
||||
<!-- END LAUNCH CONDITIONS -->
|
||||
|
||||
<!-- PACKAGE CONTENT -->
|
||||
<DirectoryRef Id="INSTALLDIR">
|
||||
<Component Id="Comp.app_icon" Guid="CF78DCF4-D526-45BE-A4AD-C4A67427EDC4" Win64="$(var.IsWin64)">
|
||||
<RegistryKey Id="Reg.uninstall_product" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]" Root="HKLM" Action="createAndRemoveOnUninstall">
|
||||
<?ifdef x64?>
|
||||
<RegistryValue Id="RegVal.display_icon" Name="DisplayIcon" Type="string" Value="[INSTALLDIR]compiler\studio\spec\win64\bin\ecl.exe,0" KeyPath="yes"/>
|
||||
<?else?>
|
||||
<RegistryValue Id="RegVal.display_icon" Name="DisplayIcon" Type="string" Value="[INSTALLDIR]compiler\studio\spec\windows\bin\ecl.exe,0" KeyPath="yes"/>
|
||||
<?endif?>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
<Directory Id="Dir.bin" Name="Bin">
|
||||
<Component Id="Comp.bin" Guid="425E30B8-6C4D-4D23-B531-DB8C83C39050" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.bin" On="uninstall" Directory="Dir.bin"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.compiler" Name="Compiler">
|
||||
<Component Id="Comp.compiler" Guid="DB24E211-374C-4E3D-AA63-5B3F3CD630CF" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.compiler" On="uninstall" Directory="Dir.compiler"/>
|
||||
<?ifdef x64?>
|
||||
<?include RegCompiler64.wxi?>
|
||||
<?else?>
|
||||
<?include RegCompiler86.wxi?>
|
||||
<?endif?>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.documentation" Name="Documentation">
|
||||
<Component Id="Comp.documentation" Guid="D9C50E12-5DAD-4F7B-83C4-38DC599B1454" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.documentation" On="uninstall" Directory="Dir.documentation"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.eiffelpackages" Name="EiffelPackages">
|
||||
<Component Id="Comp.eiffelpackages" Guid="12E717BB-DFB6-4F50-8C11-CD2FDE6F61EA" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.eiffelpackages" On="uninstall" Directory="Dir.eiffelpackages"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.eiffelprojectitems" Name="EiffelProjectItems">
|
||||
<Component Id="Comp.eiffelprojectitems" Guid="C0D929A7-9551-4F75-B079-CC709A2FAFC1" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.eiffelprojectitems" On="uninstall" Directory="Dir.eiffelprojectitems"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.eiffelprojects" Name="EiffelProjects">
|
||||
<Component Id="Comp.eiffelprojects" Guid="C4E6AC7C-43A6-4B5E-B05E-CF4DCFAEDF56" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.eiffelprojects" On="uninstall" Directory="Dir.eiffelprojects"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.snippets" Name="Snippets">
|
||||
<Component Id="Comp.snippets" Guid="B3B2CB86-B2F1-481A-AE4C-9A92AD704F72" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.snippets" On="uninstall" Directory="Dir.snippets"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.examples" Name="Examples">
|
||||
<Component Id="Comp.examples" Guid="CE2A79B0-239C-4B7F-A0A2-2F06E0B68F63" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.examples" On="uninstall" Directory="Dir.examples"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.libraries" Name="Libraries">
|
||||
<Component Id="Comp.libraries" Guid="D945D360-AA72-44A9-8592-E2283A0C103E" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.libraries" On="uninstall" Directory="Dir.libraries"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.schema" Name="Schema">
|
||||
<Component Id="Comp.schema" Guid="2697811E-23BE-481B-96FF-94FCF5648818" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.schema" On="uninstall" Directory="Dir.schema"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
<Directory Id="Dir.specifications" Name="Specifications">
|
||||
<Component Id="Comp.specifications" Guid="8DF79E1E-B2A7-4AF0-B110-57232E22BFAF" Win64="$(var.IsWin64)" KeyPath="yes">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="Dir.specifications" On="uninstall" Directory="Dir.specifications"/>
|
||||
</Component>
|
||||
</Directory>
|
||||
</DirectoryRef>
|
||||
|
||||
<DirectoryRef Id="TARGETDIR">
|
||||
<Directory Id="SystemFolder" Name="."/>
|
||||
<?ifdef x64?>
|
||||
<Directory Id="System64Folder" Name="."/>
|
||||
<?endif?>
|
||||
|
||||
<Component Id="Comp.eiffelpackages.reg" Guid="CA055265-A3B9-4788-A3DC-FDE93646A9CF" Win64="no" KeyPath="yes">
|
||||
<?include RegEiffelPackages.wxi?>
|
||||
</Component>
|
||||
|
||||
<Directory Id="PersonalFolder" Name=".">
|
||||
<Directory Id="Dir.user" Name="$(var.VsName)">
|
||||
|
||||
<!-- Code Snippets -->
|
||||
<Directory Id="Dir.user.code_snippets" Name="Code Snippets">
|
||||
<Directory Id="USERCODESNIPPETS" Name="$(var.LangName)">
|
||||
<Component Id="Comp.user.code_snippets.eiffel" Guid="3C60E71D-A584-43AC-8C7B-F49690A192E0" Win64="$(var.IsWin64)">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="USERCODESNIPPETS" On="uninstall" Directory="USERCODESNIPPETS"/>
|
||||
<RemoveFolder Id="Dir.user.code_snippets" On="uninstall" Directory="Dir.user.code_snippets"/>
|
||||
<RemoveFolder Id="Dir.user" On="uninstall" Directory="Dir.user"/>
|
||||
<RegistryKey Id="Reg.user.code_snippets" Key="Software\ISE\EiffelEnvision28" Root="HKCU" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.user.code_snippets" Name="CodeSnippetsDir" Value="[USERCODESNIPPETS]" Type="string" KeyPath="yes"/>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<!-- Templates -->
|
||||
<Directory Id="Dir.user.templates" Name="Templates">
|
||||
|
||||
<!-- ItemTemplates -->
|
||||
<Directory Id="Dir.user.templates.item" Name="ItemTemplates">
|
||||
<Directory Id="USERITEMTEMPLATES" Name="$(var.LangName)">
|
||||
<Component Id="Comp.user.templates.item.eiffel" Guid="BEC152E6-CCE0-4F49-A6DD-7A74DA24B18B" Win64="$(var.IsWin64)">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="USERITEMTEMPLATES" On="uninstall" Directory="USERITEMTEMPLATES"/>
|
||||
<RemoveFolder Id="Dir.user.templates.item" On="uninstall" Directory="Dir.user.templates.item"/>
|
||||
<RemoveFolder Id="Dir.user.templates" On="uninstall" Directory="Dir.user.templates"/>
|
||||
<RegistryKey Id="Reg.user.templates.item" Key="Software\ISE\EiffelEnvision28" Root="HKCU" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.user.templates.item" Name="CodeSnippetsDir" Value="[USERITEMTEMPLATES]" Type="string" KeyPath="yes"/>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
<!-- ProjectTemplates -->
|
||||
<Directory Id="Dir.user.templates.project" Name="ProjectTemplates">
|
||||
<Directory Id="USERPROJECTTEMPLATES" Name="$(var.LangName)">
|
||||
<Component Id="Comp.user.templates.project.eiffel" Guid="BB9FDEC8-256F-4392-9BAC-E323D536B2BF" Win64="$(var.IsWin64)">
|
||||
<CreateFolder/>
|
||||
<RemoveFolder Id="USERPROJECTTEMPLATES" On="uninstall" Directory="USERPROJECTTEMPLATES"/>
|
||||
<RemoveFolder Id="Dir.user.templates.project" On="uninstall" Directory="Dir.user.templates.project"/>
|
||||
<RegistryKey Id="Reg.user.templates.project" Key="Software\ISE\EiffelEnvision28" Root="HKCU" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.user.templates.project" Name="CodeSnippetsDir" Value="[USERPROJECTTEMPLATES]" Type="string" KeyPath="yes"/>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
</Directory>
|
||||
</Directory>
|
||||
|
||||
</Directory>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</DirectoryRef>
|
||||
<!-- END PACKAGE CONTENT -->
|
||||
|
||||
|
||||
<!-- COMPONENT GROUPS -->
|
||||
<ComponentGroup Id="CompGrp.dir.bin">
|
||||
<!-- Group for package/Eiffel tools -->
|
||||
<ComponentRef Id="Comp.bin" />
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.compiler">
|
||||
<!-- Group for compiler -->
|
||||
<ComponentRef Id="Comp.compiler"/>
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.package">
|
||||
<!-- Group for EiffelEnvision package -->
|
||||
<ComponentRef Id="Comp.eiffelpackages"/>
|
||||
<ComponentRef Id="Comp.eiffelprojectitems"/>
|
||||
<ComponentRef Id="Comp.eiffelprojects"/>
|
||||
<ComponentRef Id="Comp.snippets"/>
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.libraries">
|
||||
<!-- Group for EiffelEnvision libraries -->
|
||||
<ComponentRef Id="Comp.libraries"/>
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.documentation">
|
||||
<!-- Group for documentation -->
|
||||
<ComponentRef Id="Comp.documentation"/>
|
||||
<ComponentRef Id="Comp.schema"/>
|
||||
<ComponentRef Id="Comp.specifications"/>
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.examples">
|
||||
<!-- Group for examples -->
|
||||
<ComponentRef Id="Comp.examples"/>
|
||||
</ComponentGroup>
|
||||
|
||||
<ComponentGroup Id="CompGrp.dir.user">
|
||||
<!-- Group for user information -->
|
||||
<ComponentRef Id="Comp.user.code_snippets.eiffel"/>
|
||||
<ComponentRef Id="Comp.user.templates.item.eiffel"/>
|
||||
<ComponentRef Id="Comp.user.templates.project.eiffel"/>
|
||||
</ComponentGroup>
|
||||
<!-- END COMPONENT GROUPS -->
|
||||
|
||||
<!-- FEATURES -->
|
||||
<Feature Id="Feat.root" Title="$(var.ProductName)" Description="$(var.ProductDescription)" TypicalDefault="install" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR">
|
||||
<ComponentRef Id="Comp.app_icon" />
|
||||
<ComponentGroupRef Id="CompGrp.dir.user"/>
|
||||
<ComponentGroupRef Id="CompGrp.redist"/>
|
||||
<Feature Id="Feat.bin" Title="Additional Tools" Description="Additional tools and utilities to use in conjuntion with EiffelEnvision and the Eiffel for .NET compiler." Level="1" Absent="allow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.bin"/>
|
||||
<ComponentGroupRef Id="CompGrp.bin"/>
|
||||
</Feature>
|
||||
<Feature Id="Feat.compiler" Title="Eiffel for .NET Compiler" Description="The Eiffel for .NET compiler and other compiler components." Level="1" Absent="disallow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.compiler"/>
|
||||
<ComponentGroupRef Id="CompGrp.comp"/>
|
||||
<ComponentGroupRef Id="CompGrp.compspec"/>
|
||||
</Feature>
|
||||
<Feature Id="Feat.package" Title="EiffelEnvision Core" Description="The core components used to plug [ProductName] into $(var.VsName)." Level="1" Absent="disallow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.package"/>
|
||||
<ComponentGroupRef Id="CompGrp.eiffelpackages"/>
|
||||
<ComponentGroupRef Id="CompGrp.eiffelprojectitems"/>
|
||||
<ComponentGroupRef Id="CompGrp.eiffelprojects"/>
|
||||
<ComponentGroupRef Id="CompGrp.snippets"/>
|
||||
<ComponentRef Id="Comp.eiffelpackages.reg"/>
|
||||
<Feature Id="Feat.package.library" Title="Libraries" Description="Library configuration files for quick reuse of source code libraries" Level="1" Absent="disallow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.libraries"/>
|
||||
<ComponentGroupRef Id="CompGrp.libraries"/>
|
||||
</Feature>
|
||||
<Feature Id="Feat.package.msbuild" Title="MsBuild Integration" Description="The core components used to extend MsBuild to support compiling Eiffel for .NET projects" Level="1" Absent="disallow">
|
||||
</Feature>
|
||||
</Feature>
|
||||
<Feature Id="Feat.documentation" Title="Documentation" Description="Documentation for [ProductName] and any installed tools" Level="1" Absent="allow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.documentation"/>
|
||||
<ComponentGroupRef Id="CompGrp.documentation"/>
|
||||
<ComponentGroupRef Id="CompGrp.schema"/>
|
||||
<ComponentGroupRef Id="CompGrp.specifications"/>
|
||||
</Feature>
|
||||
<Feature Id="Feat.examples" Title="Examples" Description="Examples and How Tos to get you start with developing in Eiffel for .NET" Level="1" Absent="allow">
|
||||
<ComponentGroupRef Id="CompGrp.dir.examples"/>
|
||||
<ComponentGroupRef Id="CompGrp.examples"/>
|
||||
</Feature>
|
||||
</Feature>
|
||||
<!-- END FEATURES -->
|
||||
|
||||
<!-- CUSTOM ACTIONS -->
|
||||
<CustomAction Id="SET_VSINSTALLDIR" Property="INSTALLDIR" Value="[VSINSTALL]$(var.LangName)"/>
|
||||
<!-- END CUSTOM ACTIONS -->
|
||||
|
||||
<!-- UI SEQUENCING -->
|
||||
<AdminUISequence>
|
||||
<Custom Action="SET_VSINSTALLDIR" After="LaunchConditions"><![CDATA[NOT Installed]]></Custom>
|
||||
</AdminUISequence>
|
||||
<InstallUISequence>
|
||||
<Custom Action="SET_VSINSTALLDIR" After="LaunchConditions"><![CDATA[NOT Installed]]></Custom>
|
||||
</InstallUISequence>
|
||||
<!-- END UI SEQUENCING -->
|
||||
|
||||
<!-- INSTALL SEQUENCING -->
|
||||
<AdminExecuteSequence>
|
||||
</AdminExecuteSequence>
|
||||
<InstallExecuteSequence>
|
||||
</InstallExecuteSequence>
|
||||
<!-- END INSTALL SEQUENCING -->
|
||||
|
||||
</Fragment>
|
||||
<?endif?>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.eiffelpackages"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.eiffelprojectitems"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.eiffelprojects"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.examples"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.libraries"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,81 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifndef IsWin64?>
|
||||
<?ifdef x64?>
|
||||
<?define IsWin64 = "yes"?>
|
||||
<?else ?>
|
||||
<?define IsWin64 = "no"?>
|
||||
<?endif ?>
|
||||
<?endif ?>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<DirectoryRef Id="TARGETDIR" FileSource="$(env.InstallSource)\Redist">
|
||||
<Component Id="Comp.Base.dll" Guid="5EE49CB2-AFAC-4D34-BC5E-5C8477CD6331" Win64="no">
|
||||
<File Id="Base.dll" Name="EiffelSoftware.Library.Base.dll" KeyPath="yes" Assembly=".net"/>
|
||||
</Component>
|
||||
<Component Id="Comp.Vision2.dll" Guid="F6651053-8775-4BE9-985D-CCF3933B08B9" Win64="no">
|
||||
<File Id="Vision2.dll" Name="EiffelSoftware.Library.Vision2.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
<Component Id="Comp.Wel.dll" Guid="261E6A5C-1948-4506-A07C-D9C3E1D64064" Win64="no">
|
||||
<File Id="Wel.dll" Name="EiffelSoftware.Library.Wel.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
<Component Id="Comp.Runtime.dll" Guid="C5E80BB2-FD54-4294-8B18-CB1385F2D7D9" Win64="no">
|
||||
<File Id="Runtime.dll" Name="EiffelSoftware.Runtime.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="SystemFolder" FileSource="$(env.InstallSource)\Redist">
|
||||
<Component Id="Comp.libBase.dll" Guid="0F9297B9-1FAB-46E4-872A-F059C970BAB6" Win64="no">
|
||||
<File Id="libBase.dll" Name="libEiffelSoftware.Library.Base.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="Comp.libVision2.dll" Guid="B15CF830-F999-47DD-987A-16334A53C016" Win64="no">
|
||||
<File Id="libVision2.dll" Name="libEiffelSoftware.Library.Vision2.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="Comp.libWel.dll" Guid="C9C06264-9206-4C4B-B2E6-053D9AAB2EAC" Win64="no">
|
||||
<File Id="libWel.dll" Name="libEiffelSoftware.Library.Wel.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
|
||||
<?ifdef x64?>
|
||||
<DirectoryRef Id="TARGETDIR" FileSource="$(env.InstallSource)\Redist\x64">
|
||||
<Component Id="Comp.Base64.dll" Guid="2901F900-FBEB-4BF3-A849-F54BBC369829" Win64="yes">
|
||||
<File Id="Base64.dll" Name="EiffelSoftware.Library.Base64.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
<Component Id="Comp.Vision264.dll" Guid="C4F50B3E-6FE3-4502-8274-7A5DE74D1E5B" Win64="yes">
|
||||
<File Id="Vision264.dll" Name="EiffelSoftware.Library.Vision264.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
<Component Id="Comp.Wel64.dll" Guid="2E92A85C-E618-4E27-B2E5-437A72E592C7" Win64="yes">
|
||||
<File Id="Wel64.dll" Name="EiffelSoftware.Library.Wel64.dll" KeyPath="yes" Assembly=".net" ProcessorArchitecture="msil"/>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="System64Folder" FileSource="$(env.InstallSource)\Redist\x64">
|
||||
<Component Id="Comp.libBase64.dll" Guid="28A9B518-709E-40A6-8012-00546667CE04" Win64="yes">
|
||||
<File Id="libBase64.dll" Name="libEiffelSoftware.Library.Base64.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="Comp.libVision264.dll" Guid="1ACEB760-C94E-4A9F-B47A-10D4344567F9" Win64="yes">
|
||||
<File Id="libVision264.dll" Name="libEiffelSoftware.Library.Vision264.dll" KeyPath="yes" />
|
||||
</Component>
|
||||
<Component Id="Comp.libWel64.dll" Guid="D9255D80-3887-408C-8137-D9D1B3F713CE" Win64="yes">
|
||||
<File Id="libWel64.dll" Name="libEiffelSoftware.Library.Wel64.dll" KeyPath="yes"/>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<?endif ?>
|
||||
<?endif ?>
|
||||
|
||||
<ComponentGroup Id="CompGrp.redist">
|
||||
<ComponentRef Id="Comp.Base.dll"/>
|
||||
<ComponentRef Id="Comp.Wel.dll"/>
|
||||
<ComponentRef Id="Comp.Vision2.dll"/>
|
||||
<ComponentRef Id="Comp.libBase.dll"/>
|
||||
<ComponentRef Id="Comp.libWel.dll"/>
|
||||
<ComponentRef Id="Comp.libVision2.dll"/>
|
||||
<?ifdef x64?>
|
||||
<ComponentRef Id="Comp.Base64.dll"/>
|
||||
<ComponentRef Id="Comp.Wel64.dll"/>
|
||||
<ComponentRef Id="Comp.Vision264.dll"/>
|
||||
<ComponentRef Id="Comp.libBase64.dll"/>
|
||||
<ComponentRef Id="Comp.libWel64.dll"/>
|
||||
<ComponentRef Id="Comp.libVision264.dll"/>
|
||||
<?endif?>
|
||||
<ComponentRef Id="Comp.Runtime.dll"/>
|
||||
</ComponentGroup>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,2 @@
|
||||
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
</Include>
|
||||
@@ -0,0 +1,2 @@
|
||||
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
</Include>
|
||||
@@ -0,0 +1,2 @@
|
||||
<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
</Include>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.schema"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.snippets"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,7 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<?ifdef EiffelEnvision?>
|
||||
<ComponentGroup Id="CompGrp.specifications"></ComponentGroup>
|
||||
<?endif ?>
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0"?>
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
||||
<?include ..\..\includes\Preprocessors.wxi?>
|
||||
<?ifdef EiffelStudio?>
|
||||
|
||||
<!--
|
||||
This include document is included under the Package node so you are free to define new directories, properties and features.
|
||||
Note: A directory is created for INSTALLDIR and TARGETDIR so please use DirectoryRef to reference them.
|
||||
-->
|
||||
<Fragment>
|
||||
|
||||
<!-- PROPERTIES -->
|
||||
<Property Id="GDIPLUSNEEDED">1</Property>
|
||||
<Property Id="SHORTCUTPATH"><![CDATA[hh]]></Property>
|
||||
<Property Id="ISELANG">en_US</Property>
|
||||
<!-- END PROPERTIES -->
|
||||
|
||||
<!-- PACKAGE CONTENT -->
|
||||
<DirectoryRef Id="INSTALLDIR">
|
||||
<Component Id="Comp.studio_registries" Guid="$(var.RegistriesGuid)" Win64="$(var.IsWin64)">
|
||||
<!-- Registry settings for installation program -->
|
||||
<RegistryKey Id="Reg.uninstall_product" Root="HKLM" Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode]" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.display_icon" Name="DisplayIcon" Type="string" Value="[INSTALLDIR]studio\spec\$(var.IsePlatform)\bin\estudio.exe,0" KeyPath="yes"/>
|
||||
</RegistryKey>
|
||||
<!-- Registry settings for EiffelStudio and other tools-->
|
||||
<RegistryKey Id="Reg.eiffel" Root="HKLM" Key="Software\ISE\$(var.ProductKey)" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.eiffel.ise_eiffel" Name="ISE_EIFFEL" Value="[INSTALLDIR]" Type="string"/>
|
||||
<RegistryValue Id="RegVal.eiffel.ise_c_compiler" Name="ISE_C_COMPILER" Value="[C_CONFIG_NAME]" Type="string"/>
|
||||
<RegistryValue Id="RegVal.eiffel.ise_platform" Name="ISE_PLATFORM" Value="$(var.IsePlatform)" Type="string"/>
|
||||
<RegistryValue Id="RegVal.eiffel.ise_lang" Name="ISE_LANG" Value="[ISELANG]" Type="string"/>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.eiffel.finish_freezing" Root="HKLM" Key="Software\ISE\$(var.ProductKey)\finish_freezing" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.eiffel.ff.ise_cflags" Name="ISE_CFLAGS" Value="" Type="string"/>
|
||||
<RegistryValue Id="RegVal.eiffel.ff.ise_sharedlibs" Name="ISE_SHAREDLIBS" Value="" Type="string"/>
|
||||
</RegistryKey>
|
||||
<!-- Registry settings for .NET consumer -->
|
||||
<RegistryKey Id="Reg.CCManager" Root="HKCR" Key="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.CCManager" Value="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Type="string">
|
||||
</RegistryValue>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.CCManager.clsid" Root="HKCR" Key="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER\CLSID" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.CCManager.clsid" Value="{64E0AD08-417E-4243-B533-561A05F4B5E6}" Type="string">
|
||||
</RegistryValue>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.clsid" Root="HKCR" Key="CLSID\{64E0AD08-417E-4243-B533-561A05F4B5E6}" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.clsid.default" Value="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Type="string"/>
|
||||
<RegistryKey Id="Reg.clsid.1" Key="Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Action="createAndRemoveOnUninstall" />
|
||||
<RegistryKey Id="Reg.clsid.2" Key="InprocServer32" Action="createAndRemoveOnUninstall" >
|
||||
<RegistryValue Id="RegVal.clsid.inproc.1" Value="mscoree.dll" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.2" Name="ThreadingModel" Value="Both" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.3" Name="Class" Value="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.4" Name="Assembly" Value="EiffelSoftware.MetadataConsumer, Version=7.2.9.376, Culture=neutral, PublicKeyToken=def26f296efef469" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.5" Name="RuntimeVersion" Value="v2.0.50727" Type="string"/>
|
||||
<RegistryKey Id="Reg.clsid.3" Key="7.2.9.376" Action="createAndRemoveOnUninstall" >
|
||||
<RegistryValue Id="RegVal.clsid.inproc.version.1" Name="Class" Value="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.version.2" Name="Assembly" Value="EiffelSoftware.MetadataConsumer, Version=7.2.9.376, Culture=neutral, PublicKeyToken=def26f296efef469" Type="string"/>
|
||||
<RegistryValue Id="RegVal.clsid.inproc.version.3" Name="RuntimeVersion" Value="v2.0.50727" Type="string"/>
|
||||
</RegistryKey>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.clsid.4" Key="ProgId" Action="createAndRemoveOnUninstall" >
|
||||
<RegistryValue Id="RegVal.clsid.progid" Value="EiffelSoftware.MetadataConsumer.Interop.COM_CACHE_MANAGER" Type="string"/>
|
||||
</RegistryKey>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.VS" Root="HKLM" Key="SOFTWARE\Microsoft\.NETFramework\AssemblyFolders\[ProductName]" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.VS" Value="[INSTALLDIR]\studio\spec\$(var.IsePlatform)\lib\" Type="string"/>
|
||||
</RegistryKey>
|
||||
<!-- Registry settings for eiffel protocol -->
|
||||
<RegistryKey Id="Reg.eiffel_protocol" Root="HKCR" Key="eiffel" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.eiffel_protocol.default" Value="URL:Eiffel Protocol" Type="string"/>
|
||||
<RegistryValue Id="RegVal.eiffel_protocol.url" Name="URL Protocol" Value="" Type="string"/>
|
||||
<RegistryKey Id="Reg.eiffel_protocol.defaulticon" Key="DefaultIcon" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.eiffel_protocol.defaulticon.default" Value="[INSTALLDIR]\studio\spec\$(var.IsePlatform)\bin\estudio.exe" Type="string"/>
|
||||
</RegistryKey>
|
||||
<RegistryKey Id="Reg.eiffel_protocol.shell" Key="shell\open\command" Action="createAndRemoveOnUninstall">
|
||||
<RegistryValue Id="RegVal.eiffel_protocol.shell.default" Value=""[INSTALLDIR]\studio\spec\$(var.IsePlatform)\bin\estudio.exe" /ec_action eisi:"%1"" Type="string"/>
|
||||
</RegistryKey>
|
||||
</RegistryKey>
|
||||
</Component>
|
||||
<Directory Id="Dir.gcc" Name="gcc"/>
|
||||
<Directory Id="Dir.Core.examples" Name="examples"/>
|
||||
<Directory Id="Dir.Core.library" Name="library">
|
||||
<Directory Id="Dir.Core.library.gobo" Name="gobo"/>
|
||||
</Directory>
|
||||
<Directory Id="Dir.Core.experimental" Name="experimental">
|
||||
<Directory Id="Dir.Core.experimental.library" Name="library">
|
||||
<Directory Id="Dir.Core.experimental.library.gobo" Name="gobo"/>
|
||||
</Directory>
|
||||
</Directory>
|
||||
<!-- To comment when building complete delivery -->
|
||||
<!--
|
||||
<Directory Id="Dir.Core.esbuilder.spec.$(var.IsePlatform).bin" Name="testing1"/>
|
||||
<Directory Id="Dir.Core.studio.spec.$(var.IsePlatform).bin" Name="testing2"/>
|
||||
-->
|
||||
</DirectoryRef>
|
||||
|
||||
<DirectoryRef Id="TARGETDIR">
|
||||
<Directory Id="DesktopFolder" Name="." />
|
||||
<Directory Id="ProgramMenuFolder" Name=".">
|
||||
<Directory Id="EiffelStudio" Name="$(var.Product) $(var.ProductVersion) ($(var.Platform))">
|
||||
<Directory Id="EiffelStudio.Documentation" Name="Documentation"/>
|
||||
<Directory Id="EiffelStudio.Tools" Name="Tools"/>
|
||||
</Directory>
|
||||
</Directory>
|
||||
</DirectoryRef>
|
||||
|
||||
<!-- PROGIDS -->
|
||||
<DirectoryRef Id="Dir.Core.esbuilder.spec.$(var.IsePlatform).bin" >
|
||||
<Component Id="Comp.Core.esbuilder.spec.$(var.IsePlatform).bin.esbuilder.exe" Guid="BA8812BD-C38D-44AA-9FE9-A85DBB4CF493" Win64="$(var.IsWin64)">
|
||||
<File Id="Core.esbuilder.spec.$(var.IsePlatform).bin.esbuilder.exe" Name="esbuilder.exe" DiskId="1" Source="$(env.INSTALL_DIR)\EiffelStudio\esbuilder\spec\$(var.IsePlatform)\bin\esbuilder.exe"/>
|
||||
<ProgId Id="build.project" Description="EiffelBuild project" Icon="Core.esbuilder.spec.$(var.IsePlatform).bin.esbuilder.exe" IconIndex="0" >
|
||||
<Extension Id="bpr">
|
||||
<MIME ContentType="text/xml" />
|
||||
<Verb Id="bpr" Argument=""%1"" Command="Open" TargetFile="Core.esbuilder.spec.$(var.IsePlatform).bin.esbuilder.exe" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<DirectoryRef Id="Dir.Core.studio.spec.$(var.IsePlatform).bin" >
|
||||
<Component Id="Comp.Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" Guid="4AECBDF8-9061-4260-A4C1-A54F0E163A3F" Win64="$(var.IsWin64)">
|
||||
<File Id="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" Name="estudio.exe" DiskId="1" Source="$(env.INSTALL_DIR)\EiffelStudio\studio\spec\$(var.IsePlatform)\bin\estudio.exe"/>
|
||||
<ProgId Id="estudio_ecf.project" Description="EiffelStudio project" Icon="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" IconIndex="1" >
|
||||
<Extension Id="ecf">
|
||||
<MIME ContentType="text/xml" />
|
||||
<Verb Id="open" Argument=""%1"" Command="Open" TargetFile="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
<Verb Id="compile" Argument="-config "%1" -melt" Command="Compile" TargetFile="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
<Verb Id="precompile" Argument="-config "%1" -precompile" Command="Precompile" TargetFile="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
<Verb Id="freeze" Argument="-config "%1" -freeze" Command="Freeze" TargetFile="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
<Verb Id="finalize" Argument="-config "%1" -finalize" Command="Finalize" TargetFile="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
<ProgId Id="estudio_e.class" Description="Eiffel Classes" Icon="Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" IconIndex="2" >
|
||||
<Extension Id="e" >
|
||||
<MIME ContentType="text/plain" />
|
||||
</Extension>
|
||||
</ProgId>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<!-- END PROGIDS -->
|
||||
|
||||
<!-- Shortcuts and file association -->
|
||||
<DirectoryRef Id="EiffelStudio">
|
||||
<Component Id="Comp.studio_shortcuts" Guid="$(var.ShortcutsGuid)" Win64="$(var.IsWin64)">
|
||||
<CreateFolder Directory="EiffelStudio"/>
|
||||
<CreateFolder Directory="EiffelStudio.Documentation"/>
|
||||
<CreateFolder Directory="EiffelStudio.Tools"/>
|
||||
<RemoveFolder Id="RemoveEiffelStudio" Directory="EiffelStudio" On="uninstall" />
|
||||
<RemoveFolder Id="RemoveEiffelStudio.Documentation" Directory="EiffelStudio.Documentation" On="uninstall" />
|
||||
<RemoveFolder Id="RemoveEiffelStudio.Tools" Directory="EiffelStudio.Tools" On="uninstall" />
|
||||
<RegistryValue Id="Id.shortcuts" Root="HKCU" Key="Software\ISE\$(var.ProductKey)" Name="InstalledShortcuts" Type="integer" Value="1" KeyPath="yes"/>
|
||||
<Shortcut Id="esbuilder.exe" Name="EiffelBuild"
|
||||
Description="GUI Builder using EiffelVision2" Show="normal" Directory="EiffelStudio"
|
||||
Target="[INSTALLDIR]esbuilder\spec\$(var.IsePlatform)\bin\esbuilder.exe"
|
||||
/>
|
||||
<Shortcut Id="estudio.exe" Name="$(var.Product) $(var.ProductVersion)"
|
||||
Description="EiffelStudio development environment" Show="normal" Directory="EiffelStudio"
|
||||
Target="[INSTALLDIR]studio\spec\$(var.IsePlatform)\bin\estudio.exe"
|
||||
/>
|
||||
<Shortcut Id="estudio.exe1" Name="$(var.Product) $(var.ProductVersion) (Experimental mode)"
|
||||
Description="EiffelStudio development environment using compatibility facilities of EiffelStudio" Show="normal"
|
||||
Target="[INSTALLDIR]studio\spec\$(var.IsePlatform)\bin\estudio.exe" Directory="EiffelStudio"
|
||||
Arguments="-experiment"
|
||||
/>
|
||||
<Shortcut Id="esvars.bat" Name="$(var.Product) $(var.ProductVersion) Command Prompt"
|
||||
Description="EiffelStudio Command Prompt" Show="normal" Directory="EiffelStudio"
|
||||
Target="[%ComSpec]"
|
||||
Arguments="/k "[INSTALLDIR]studio\config\$(var.IsePlatform)\esvars.bat""
|
||||
/>
|
||||
<Shortcut Id="UninstallProduct" Name="Uninstall $(var.Product)"
|
||||
Description="Uninstalls $(var.Product)" Show="normal" Directory="EiffelStudio"
|
||||
Target="[System64Folder]msiexec.exe"
|
||||
Arguments="/x [ProductCode]"
|
||||
/>
|
||||
<util:InternetShortcut Id="EiffelStudio.Documentation.General" Name="Eiffel Developer Help Center" Target="http://docs.eiffel.com/" Directory="EiffelStudio.Documentation"/>
|
||||
<util:InternetShortcut Id="EiffelStudio.Documentation.COM" Name="EiffelCOM Wizard Documentation" Target="http://docs.eiffel.com/book/platform-specifics/eiffelcom-wizard" Directory="EiffelStudio.Documentation"/>
|
||||
<util:InternetShortcut Id="EiffelStudio.Documentation.ResourceBench" Name="ResourceBench Documentation" Target="http://docs.eiffel.com/book/platform-specifics/resourcebench" Directory="EiffelStudio.Documentation"/>
|
||||
<Shortcut Id="vision2_demo.exe" Name="EiffelVision2 Demo"
|
||||
Description="EiffelVision2 overview presentation" Show="normal" Directory="EiffelStudio.Documentation"
|
||||
Target="[INSTALLDIR]vision2_demo\spec\$(var.IsePlatform)\bin\vision2_demo.exe"
|
||||
/>
|
||||
<Shortcut Id="com_wizard.exe" Name="EiffelCOM Wizard"
|
||||
Description="A wizard that helps you use and create COM components with Eiffel" Show="normal"
|
||||
Target="[INSTALLDIR]wizards\com\com_wizard_launcher.exe" Directory="EiffelStudio.Tools"
|
||||
/>
|
||||
<Shortcut Id="he2.exe" Name="C constants to Eiffel class generator"
|
||||
Description="A tool to extract constant definitions into Eiffel classes" Show="normal"
|
||||
Target="[INSTALLDIR]studio\spec\$(var.IsePlatform)\bin\h2e.exe" Directory="EiffelStudio.Tools"
|
||||
/>
|
||||
<Shortcut Id="rb.exe" Name="ResourceBench"
|
||||
Description="A tool to convert .rc files into WEL classes" Show="normal"
|
||||
Target="[INSTALLDIR]rb\bin\rb.exe" Directory="EiffelStudio.Tools"
|
||||
/>
|
||||
</Component>
|
||||
</DirectoryRef>
|
||||
<!-- END PACKAGE CONTENT -->
|
||||
|
||||
<!-- FEATURES -->
|
||||
<Feature Id="Feat.root" Title="$(var.ProductName)" Description="$(var.ProductDescription)" TypicalDefault="install" Display="expand" Level="1" ConfigurableDirectory="INSTALLDIR">
|
||||
<Feature Id="MainProgram" Title="Program" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentRef Id="Comp.studio_registries" />
|
||||
<ComponentRef Id="Comp.studio_shortcuts" />
|
||||
<ComponentRef Id="Comp.Core.esbuilder.spec.$(var.IsePlatform).bin.esbuilder.exe" />
|
||||
<ComponentRef Id="Comp.Core.studio.spec.$(var.IsePlatform).bin.estudio.exe" />
|
||||
<ComponentGroupRef Id="Core"/>
|
||||
<?ifdef Enterprise ?>
|
||||
<ComponentGroupRef Id="enterprise_ec"/>
|
||||
<?else?>
|
||||
<ComponentGroupRef Id="gpl_ec"/>
|
||||
<?endif?>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="Examples_feature" Title="Examples" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentGroupRef Id="Core.examples"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="Library_feature" Title="Library" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentGroupRef Id="Core.library"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="Gobo_feature" Title="Gobo" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentGroupRef Id="Core.library.gobo"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="Experimental_feature" Title="Experimental" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentGroupRef Id="Core.experimental.library"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="Gobo_experimental_feature" Title="Gobo Experimental" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<ComponentGroupRef Id="Core.experimental.library.gobo"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="gdiplus_feature" Title="GDI+" TypicalDefault="install" Level="1" Display="hidden">
|
||||
<Condition Level="0"><![CDATA[GDIPLUSNEEDED = "0"]]></Condition>
|
||||
<ComponentGroupRef Id="gdiplus"/>
|
||||
</Feature>
|
||||
|
||||
<Feature Id="gcc_feature" Title="gcc" TypicalDefault="install" Display="hidden" Level="1" >
|
||||
<ComponentGroupRef Id="gcc"/>
|
||||
</Feature>
|
||||
</Feature>
|
||||
<!-- END FEATURES -->
|
||||
|
||||
<!-- CUSTOM ACTIONS -->
|
||||
<CustomAction Id="IsGdixInstalled" BinaryKey="setup.dll" DllEntry="is_gdi_plus_installed" />
|
||||
<CustomAction Id="PrepareFinalizeSetup" BinaryKey="setup.dll" DllEntry="prepare_finalize_setup" />
|
||||
<CustomAction Id="FinalizeSetup" BinaryKey="setup.dll" DllEntry="finalize_setup" Impersonate="no" Execute="deferred" />
|
||||
<CustomAction Id="RESET_CHECKCCOMPILER" Property="CHECKCCOMPILER" Value="0" />
|
||||
<CustomAction Id="RESET_HASMSCCOMPILER" Property="HASMSCCOMPILER" Value="0" />
|
||||
<!-- END CUSTOM ACTIONS -->
|
||||
|
||||
<!-- UI SEQUENCING -->
|
||||
<AdminUISequence>
|
||||
<Custom Action="RESET_CHECKCCOMPILER" After="CostInitialize"><![CDATA[SHOWCCONFIG >= "1"]]></Custom> <!-- See Admin.txt -->
|
||||
<Custom Action="RESET_HASMSCCOMPILER" After="CostInitialize"><![CDATA[SHOWCCONFIG >= "1"]]></Custom> <!-- See Admin.txt -->
|
||||
</AdminUISequence>
|
||||
<InstallUISequence>
|
||||
<Custom Action="RESET_CHECKCCOMPILER" After="AppSearch"><![CDATA[SHOWCCONFIG >= "1"]]></Custom> <!-- See Admin.txt -->
|
||||
<Custom Action="RESET_HASMSCCOMPILER" After="AppSearch"><![CDATA[SHOWCCONFIG >= "1"]]></Custom> <!-- See Admin.txt -->
|
||||
</InstallUISequence>
|
||||
<!-- END UI SEQUENCING -->
|
||||
|
||||
<!-- INSTALL SEQUENCING -->
|
||||
<AdminExecuteSequence>
|
||||
<Custom Action="IsGdixInstalled" Before="CostInitialize"/>
|
||||
</AdminExecuteSequence>
|
||||
<InstallExecuteSequence>
|
||||
<Custom Action="IsGdixInstalled" Before="LaunchConditions"/>
|
||||
<?ifdef Enterprise?>
|
||||
<Custom Action="PrepareFinalizeSetup" After="InstallCdKey"><![CDATA[NOT Installed]]></Custom>
|
||||
<?else?>
|
||||
<Custom Action="PrepareFinalizeSetup" Before="InstallFinalize"><![CDATA[NOT Installed]]></Custom>
|
||||
<?endif?>
|
||||
<Custom Action="FinalizeSetup" After="PrepareFinalizeSetup"><![CDATA[NOT Installed]]></Custom>
|
||||
</InstallExecuteSequence>
|
||||
<!-- END INSTALL SEQUENCING -->
|
||||
</Fragment>
|
||||
|
||||
<?endif?>
|
||||
</Wix>
|
||||
@@ -0,0 +1,118 @@
|
||||
HALLOW = %INIT_DIR%\install\bin\hallow.exe
|
||||
HALLOW_FLAGS = -nologo -de:"\.svn$$" -x64 -c:"EiffelStudio"
|
||||
HALLOW_FLAGS_X86 = $(HALLOW_FLAGS) -c:"x86"
|
||||
HALLOW_FLAGS_X64 = $(HALLOW_FLAGS) -c:"x64"
|
||||
MSBUILD = C:\Windows\Microsoft.NET\Framework\v2.0.50727\msbuild.exe
|
||||
MSBUILD_FLAGS = /nologo /verbosity:quiet
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Package targets
|
||||
#
|
||||
###################################################################
|
||||
|
||||
all:: build
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Build targets
|
||||
#
|
||||
###################################################################
|
||||
|
||||
WXS = \
|
||||
studio_gcc.wxs \
|
||||
studio_core.wxs \
|
||||
studio_examples.wxs \
|
||||
studio_libraries.wxs \
|
||||
studio_gobo.wxs \
|
||||
studio_experimental.wxs \
|
||||
studio_gobo_experimental.wxs \
|
||||
studio_gdiplus.wxs \
|
||||
studio_ent_ec.wxs \
|
||||
studio_gpl_ec.wxs
|
||||
|
||||
|
||||
build: $(WXS)
|
||||
|
||||
studio_gcc.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\gcc" -dr:"Dir.gcc" -g:"gcc" -r -n:"gcc." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_core.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio" -dr:"INSTALLDIR" \
|
||||
-de:"\\EiffelStudio\\library$$" -de:"\\EiffelStudio\\examples$$" \
|
||||
-de:"\\EiffelStudio\\compatible$$" -de:"\\EiffelStudio\\gcc$$" \
|
||||
-de:"\\EiffelStudio\\experimental$$" \
|
||||
-fe:"\\EiffelStudio\\studio\\spec\\w.*\\estudio.exe$$" \
|
||||
-fe:"\\EiffelStudio\\esbuilder\\spec\\w.*\\esbuilder.exe$$" \
|
||||
-g:"Core" -r -n:"Core." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_examples.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\examples" \
|
||||
-dr:"Dir.Core.examples" -g:"Core.examples" -r -n:"Core.examples." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_libraries.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\library" \
|
||||
-dr:"Dir.Core.library" -de:"\\EiffelStudio\\library\\gobo$$" \
|
||||
-g:"Core.library" -r -n:"Core.library." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_gobo.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\library\gobo" \
|
||||
-dr:"Dir.Core.library.gobo" -g:"Core.library.gobo" -r -n:"Core.library.gobo." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_experimental.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\experimental\library" -dr:"Dir.Core.experimental.library" -de:"\\EiffelStudio\\experimental\\library\\gobo$$" -g:"Core.experimental.library" -r -n:"Core.experimental." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_gobo_experimental.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\EiffelStudio\experimental\library\gobo" -dr:"Dir.Core.experimental.library.gobo" -g:"Core.experimental.library.gobo" -r -n:"Core.experimental.library.gobo." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_gdiplus.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases" \
|
||||
-dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"gdiplus" -n:"gdiplus" \
|
||||
-fi:gdiplus.dll -de:"\*" > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_ent_ec.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases\enterprise_version" \
|
||||
-dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"enterprise_ec" -n:"Core." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
studio_gpl_ec.wxs:
|
||||
$(HALLOW) $(HALLOW_FLAGS) "$(INSTALL_DIR)\releases\gpl_version" \
|
||||
-dr:"Dir.Core.studio.spec.$$(var.IsePlatform).bin" -g:"gpl_ec" -n:"Core." > $@.tmp
|
||||
move $@.tmp $@
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# MSIs
|
||||
#
|
||||
###################################################################
|
||||
|
||||
enterprise_x86: $(WXS)
|
||||
$(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_ent_x86 /p:Platform=x86 ..\..\package.sln
|
||||
|
||||
gpl_x86: $(WXS)
|
||||
$(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_gpl_x86 /p:Platform=x86 ..\..\package.sln
|
||||
|
||||
enterprise_x64: $(WXS)
|
||||
$(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_ent_x64 /p:Platform=x64 ..\..\package.sln
|
||||
|
||||
gpl_x64: $(WXS)
|
||||
$(MSBUILD) $(MSBUILD_FLAGS) /p:Configuration=studio_gpl_x64 /p:Platform=x64 ..\..\package.sln
|
||||
|
||||
|
||||
###################################################################
|
||||
#
|
||||
# Clean builds
|
||||
#
|
||||
###################################################################
|
||||
|
||||
clean:
|
||||
for %i in ($(WXS)) do if exist %i del %i
|
||||
if exist *.msi del *.msi
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="enterprise_ec" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core.examples" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core.experimental.library" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="gcc" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="gdiplus" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,6 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core.library.gobo" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core.experimental.library.gobo" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="gpl_ec" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
@@ -0,0 +1,5 @@
|
||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||
<Fragment>
|
||||
<ComponentGroup Id="Core.library" />
|
||||
</Fragment>
|
||||
</Wix>
|
||||
Reference in New Issue
Block a user