aboutsummaryrefslogtreecommitdiff
path: root/win/Tkzinc.wxs.in
diff options
context:
space:
mode:
authorlecoanet2005-06-22 12:05:01 +0000
committerlecoanet2005-06-22 12:05:01 +0000
commitd2833aa7c02f09eff5c499dd44b9cc87a6e77f81 (patch)
treee8faa46163055d11f5d07c9ca3ba715cc1668667 /win/Tkzinc.wxs.in
parent6fc29fbe6bf95c196d749c8ba8973bbafdba0667 (diff)
downloadtkzinc-d2833aa7c02f09eff5c499dd44b9cc87a6e77f81.zip
tkzinc-d2833aa7c02f09eff5c499dd44b9cc87a6e77f81.tar.gz
tkzinc-d2833aa7c02f09eff5c499dd44b9cc87a6e77f81.tar.bz2
tkzinc-d2833aa7c02f09eff5c499dd44b9cc87a6e77f81.tar.xz
Should close bug 25. With this patch, the installer will check if the Tcl/Perl/Python
version advertised in the registry is greater or equal to the minimum required version. If some Active interpreter is not registered, a warning is issued an the install proceed to a default location.
Diffstat (limited to 'win/Tkzinc.wxs.in')
-rw-r--r--win/Tkzinc.wxs.in209
1 files changed, 113 insertions, 96 deletions
diff --git a/win/Tkzinc.wxs.in b/win/Tkzinc.wxs.in
index 86ee7c0..d110140 100644
--- a/win/Tkzinc.wxs.in
+++ b/win/Tkzinc.wxs.in
@@ -14,9 +14,9 @@
<!-- Get the version and install location of the various Active products -->
<!-- from the registry -->
- <Property Id="RequiredTclVersion">8.4.9.0</Property>
- <Property Id="RequiredPerlVersion">811</Property>
- <Property Id="RequiredPythonVersion">245</Property>
+ <Property Id="RequiredTclVersion">8.5</Property>
+ <Property Id="RequiredPerlVersion">812</Property>
+ <Property Id="RequiredPythonVersion">246</Property>
<Property Id="TkzincLongVersion">@MAJOR_VERSION@.@MINOR_VERSION@.@PATCHLEVEL@</Property>
<Property Id="TkzincShortVersion">@MAJOR_VERSION@@MINOR_VERSION@</Property>
@@ -36,53 +36,86 @@
</Property>
<Property Id='ACTIVE_TCL_DIR'>
<RegistrySearch Id='ActiveTclRegDir' Type='registry'
- Root="HKLM" Key='SOFTWARE\ActiveState\ActiveTcl\[RequiredTclVersion]' />
+ Root="HKLM" Key="SOFTWARE\ActiveState\ActiveTcl\[ACTIVE_TCL_VERSION]" />
</Property>
<Property Id='ACTIVE_PERL_DIR'>
<RegistrySearch Id='ActivePerlRegDir' Type='registry'
- Root="HKLM" Key='SOFTWARE\ActiveState\ActivePerl\[RequiredPerlVersion]' />
+ Root="HKLM" Key="SOFTWARE\ActiveState\ActivePerl\[ACTIVE_PERL_VERSION]" />
</Property>
<Property Id='ACTIVE_PYTHON_DIR'>
<RegistrySearch Id='ActivePythonRegDir' Type='registry'
- Root="HKLM" Key='SOFTWARE\ActiveState\ActivePython\[RequiredPythonVersion]' />
+ Root="HKLM" Key="SOFTWARE\ActiveState\ActivePython\[ACTIVE_PYTHON_VERSION]" />
</Property>
- <!-- Description of the files into components -->
+ <!-- Assembly of the various components in selectable features and sub-features -->
+
+ <Feature Id='Complete' Title="Tkzinc" Description='The complete package.'
+ TypicalDefault='install' Display='expand' Level='1'>
+ <Feature Id='ActiveTclZinc' Title='Tkzinc for Tcl'
+ Description='The Tkzinc package for ActiveTcl.' TypicalDefault='install' Level='1'>
+ <!-- <Condition Level='0'><![CDATA[NOT (ACTIVE_TCL_VERSION << RequiredTclVersion)]]></Condition> -->
+ <Feature Id='ActiveTclZincLib' Title='Tkzinc Tcl module'
+ Description='The Tkzinc library files and dll.' TypicalDefault='install' Level='1'>
+ <ComponentRef Id='TclDll' />
+ </Feature>
+ <Feature Id='ActiveTclZincDemo' Title='Tkzinc Tcl demos' Description='The Tkzinc demo suite in Tcl.'
+ TypicalDefault='install' Level='1'>
+ <ComponentRef Id='TclDemos' />
+ <ComponentRef Id='TclDemoImages' />
+ <ComponentRef Id='TclDemoData' />
+ </Feature>
+ <Feature Id='ActiveTclZincDoc' Title='Tkzinc documentation'
+ Description='The Tkzinc manual in HTML and pdf formats.' TypicalDefault='install' Level='1'>
+ <ComponentRef Id='TkzincDoc' />
+ </Feature>
+ </Feature>
+ <Feature Id='ActivePerlZinc' Title='Tkzinc for Perl'
+ Description='The Tkzinc package for ActivePerl.' TypicalDefault='install' Level='1'>
+ <!-- <Condition Level='0'><![CDATA[ACTIVE_PERL_VERSION < RequiredPerlVersion]]></Condition> -->
+ <Feature Id='ActivePerlZincLib' Title='Tkzinc Perl module'
+ Description='The Tkzinc library files and dll.' TypicalDefault='install' Level='1'>
+ <ComponentRef Id='PerlDll' />
+ <ComponentRef Id='PerlLib1' />
+ <ComponentRef Id='PerlLib2' />
+ </Feature>
+ <Feature Id='ActivePerlZincDemos' Title='Tkzinc Perl demos'
+ Description='The Tkzinc demo suite in Perl.' TypicalDefault='install' Level='1'>
+ <ComponentRef Id='PerlDemosBin' />
+ <ComponentRef Id='PerlDemosContrib' />
+ <ComponentRef Id='PerlDemosData' />
+ <ComponentRef Id='PerlDemosScripts' />
+ <ComponentRef Id='PerlDemosModules' />
+ </Feature>
+ </Feature>
+ <Feature Id='ActivePythonZinc' Title='Tkzinc for Python'
+ Description='The Tkzinc package for ActivePython.' TypicalDefault='install' Level='1'>
+ <!-- <Condition Level='0'><![CDATA[ACTIVE_PYTHON_VERSION < RequiredPythonVersion]]></Condition> -->
+ <ComponentRef Id='PythonTcl' />
+ <ComponentRef Id='PythonGlue' />
+ <ComponentRef Id='PythonDemo' />
+ </Feature>
+ </Feature>
+
+ <!-- This table is a dummy used to force a proper order in the registry
+ searches (AppSearch table insert order) so that ACTIVE_TCL_VERSION is
+ available when ACTIVE_TCL_DIR is looked up. I'd love to know how to do
+ it canonically. -->
+ <CustomTable Id='dummy'>
+ <Column Id='DummyCol' Type='string' PrimaryKey='yes' />
+ <Column Id='ACTIVE_TCL_VERSION' Type='string' PrimaryKey='no' />
+ <Column Id='ACTIVE_PERL_VERSION' Type='string' PrimaryKey='no' />
+ <Column Id='ACTIVE_PYTHON_VERSION' Type='string' PrimaryKey='no' />
+ <Row>
+ <Data Column='DummyCol'> 0 </Data>
+ <Data Column='ACTIVE_TCL_VERSION'> 0 </Data>
+ <Data Column='ACTIVE_PERL_VERSION'> 0 </Data>
+ <Data Column='ACTIVE_PYTHON_VERSION'> 0 </Data>
+ </Row>
+ </CustomTable>
+ <!-- Description of the files into components -->
<Directory Id='TARGETDIR' Name='SourceDir'>
- <Directory Id='ACTIVE_PYTHON_DIR' Name='Python'>
- <Directory Id='ActivePythonTcl' Name='tcl'>
- <Directory Id='ActivePythonTclTkzinc' Name='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@' LongName='Tkzinc@MAJOR_VERSION@.@MINOR_VERSION@.@PATCHLEVEL@'>
- <Component Id='PythonTcl' Guid='B1CF5C82-CE79-4EE2-91BB-49E3D808E6B9'>
- <File Id='TkzincPythonDll' Name='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@.dll' LongName='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@@PATCHLEVEL@.dll'
- DiskId='1' src='buildtcl/Tkzinc@MAJOR_VERSION@@MINOR_VERSION@@PATCHLEVEL@.dll' Vital='yes' />
- <File Id='PythonpkgIndexTcl' Name='pkgIndex.tcl' DiskId='1' src='buildtcl/pkgIndex.tcl' Vital='yes' />
- <File Id='PythonZincGraphicsTcl' Name='znGraph.tcl' LongName='zincGraphics.tcl' DiskId='1'
- src='buildtcl\zincGraphics.tcl' />
- <File Id='PythonZincTextTcl' Name='znText.tcl' LongName='zincText.tcl' DiskId='1' src='buildtcl\zincText.tcl' />
- <File Id='PythonZincLogoTcl' Name='znLogo.tcl' LongName='zincLogo.tcl' DiskId='1' src='buildtcl\zincLogo.tcl' />
- </Component>
- </Directory>
- </Directory>
- <Directory Id='PythonTclLib' Name='Lib'>
- <Directory Id='PythonTclLibZinc' Name='Zinc'>
- <Component Id='PythonGlue' Guid='E2A2296C-0C53-40AB-9118-85706B5C2C42'>
- <File Id='ZincPy' Name='Zinc.py' DiskId='1' src='..\Python\library\Zinc.py' Vital='yes' />
- <File Id='ZincPkg' Name='__init__.py' DiskId='1' src='..\Python\library\__init__.py' Vital='yes' />
- <File Id='GraphicsPy' Name='graphics.py' DiskId='1' src='..\Python\library\graphics.py' Vital='yes' />
- <File Id='GeometryPy' Name='geometry.py' DiskId='1' src='..\Python\library\geometry.py' Vital='yes' />
- <File Id='PictorialPy' Name='pictorl.py' LongName='pictorial.py' DiskId='1' src='..\Python\library\pictorial.py' Vital='yes' />
- </Component>
- </Directory>
- </Directory>
- <Directory Id='PythonZincDemo' Name='ZincDemo'>
- <Component Id='PythonDemo' Guid='0BA2AABC-005C-4FFE-88A2-881F624E9C63'>
- <File Id='TestGraphicsPy' Name='testGrph.py' LongName='testGraphics.py' DiskId='1' src='..\Python\demos\testGraphics.py' Vital='yes' />
- <File Id='PaperGif' Name='paper.gif' DiskId='1' src='..\Python\demos\paper.gif' Vital='yes' />
- </Component>
- </Directory>
- </Directory>
<Directory Id='ACTIVE_TCL_DIR' Name='Tcl'>
<Directory Id='ActiveTclLib' Name='lib'>
<Directory Id='TkzincLibDir' Name='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@' LongName='Tkzinc@MAJOR_VERSION@.@MINOR_VERSION@.@PATCHLEVEL@'>
@@ -390,57 +423,41 @@
</Directory>
</Directory>
</Directory>
+
+ <Directory Id='ACTIVE_PYTHON_DIR' Name='Python'>
+ <Directory Id='ActivePythonTcl' Name='tcl'>
+ <Directory Id='ActivePythonTclTkzinc' Name='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@' LongName='Tkzinc@MAJOR_VERSION@.@MINOR_VERSION@.@PATCHLEVEL@'>
+ <Component Id='PythonTcl' Guid='B1CF5C82-CE79-4EE2-91BB-49E3D808E6B9'>
+ <File Id='TkzincPythonDll' Name='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@.dll' LongName='Tkzinc@MAJOR_VERSION@@MINOR_VERSION@@PATCHLEVEL@.dll'
+ DiskId='1' src='buildtcl/Tkzinc@MAJOR_VERSION@@MINOR_VERSION@@PATCHLEVEL@.dll' Vital='yes' />
+ <File Id='PythonpkgIndexTcl' Name='pkgIndex.tcl' DiskId='1' src='buildtcl/pkgIndex.tcl' Vital='yes' />
+ <File Id='PythonZincGraphicsTcl' Name='znGraph.tcl' LongName='zincGraphics.tcl' DiskId='1'
+ src='buildtcl\zincGraphics.tcl' />
+ <File Id='PythonZincTextTcl' Name='znText.tcl' LongName='zincText.tcl' DiskId='1' src='buildtcl\zincText.tcl' />
+ <File Id='PythonZincLogoTcl' Name='znLogo.tcl' LongName='zincLogo.tcl' DiskId='1' src='buildtcl\zincLogo.tcl' />
+ </Component>
+ </Directory>
+ </Directory>
+ <Directory Id='PythonTclLib' Name='Lib'>
+ <Directory Id='PythonTclLibZinc' Name='Zinc'>
+ <Component Id='PythonGlue' Guid='E2A2296C-0C53-40AB-9118-85706B5C2C42'>
+ <File Id='ZincPy' Name='Zinc.py' DiskId='1' src='..\Python\library\Zinc.py' Vital='yes' />
+ <File Id='ZincPkg' Name='__init__.py' DiskId='1' src='..\Python\library\__init__.py' Vital='yes' />
+ <File Id='GraphicsPy' Name='graphics.py' DiskId='1' src='..\Python\library\graphics.py' Vital='yes' />
+ <File Id='GeometryPy' Name='geometry.py' DiskId='1' src='..\Python\library\geometry.py' Vital='yes' />
+ <File Id='PictorialPy' Name='pictorl.py' LongName='pictorial.py' DiskId='1' src='..\Python\library\pictorial.py' Vital='yes' />
+ </Component>
+ </Directory>
+ </Directory>
+ <Directory Id='PythonZincDemo' Name='ZincDemo'>
+ <Component Id='PythonDemo' Guid='0BA2AABC-005C-4FFE-88A2-881F624E9C63'>
+ <File Id='TestGraphicsPy' Name='testGrph.py' LongName='testGraphics.py' DiskId='1' src='..\Python\demos\testGraphics.py' Vital='yes' />
+ <File Id='PaperGif' Name='paper.gif' DiskId='1' src='..\Python\demos\paper.gif' Vital='yes' />
+ </Component>
+ </Directory>
+ </Directory>
</Directory>
- <!-- Assembly of the various components in selectable features and sub-features -->
-
- <Feature Id='Complete' Title="Tkzinc" Description='The complete package.'
- TypicalDefault='install' Display='expand' Level='1'>
- <Feature Id='ActiveTclZinc' Title='Tkzinc for Tcl'
- Description='The Tkzinc package for ActiveTcl.' TypicalDefault='install' Level='1'>
- <Condition Level='0'> NOT ACTIVE_TCL_VERSION = RequiredTclVersion </Condition>
- <Feature Id='ActiveTclZincLib' Title='Tkzinc Tcl module'
- Description='The Tkzinc library files and dll.' TypicalDefault='install' Level='1'>
- <ComponentRef Id='TclDll' />
- </Feature>
- <Feature Id='ActiveTclZincDemo' Title='Tkzinc Tcl demos' Description='The Tkzinc demo suite in Tcl.'
- TypicalDefault='install' Level='1'>
- <ComponentRef Id='TclDemos' />
- <ComponentRef Id='TclDemoImages' />
- <ComponentRef Id='TclDemoData' />
- </Feature>
- <Feature Id='ActiveTclZincDoc' Title='Tkzinc documentation'
- Description='The Tkzinc manual in HTML and pdf formats.' TypicalDefault='install' Level='1'>
- <ComponentRef Id='TkzincDoc' />
- </Feature>
- </Feature>
- <Feature Id='ActivePerlZinc' Title='Tkzinc for Perl'
- Description='The Tkzinc package for ActivePerl.' TypicalDefault='install' Level='1'>
- <Condition Level='0'> NOT ACTIVE_PERL_VERSION = RequiredPerlVersion </Condition>
- <Feature Id='ActivePerlZincLib' Title='Tkzinc Perl module'
- Description='The Tkzinc library files and dll.' TypicalDefault='install' Level='1'>
- <ComponentRef Id='PerlDll' />
- <ComponentRef Id='PerlLib1' />
- <ComponentRef Id='PerlLib2' />
- </Feature>
- <Feature Id='ActivePerlZincDemos' Title='Tkzinc Perl demos'
- Description='The Tkzinc demo suite in Perl.' TypicalDefault='install' Level='1'>
- <ComponentRef Id='PerlDemosBin' />
- <ComponentRef Id='PerlDemosContrib' />
- <ComponentRef Id='PerlDemosData' />
- <ComponentRef Id='PerlDemosScripts' />
- <ComponentRef Id='PerlDemosModules' />
- </Feature>
- </Feature>
- <Feature Id='ActivePythonZinc' Title='Tkzinc for Python'
- Description='The Tkzinc package for ActivePython.' TypicalDefault='install' Level='1'>
- <Condition Level='0'> NOT ACTIVE_PYTHON_VERSION = RequiredPythonVersion </Condition>
- <ComponentRef Id='PythonTcl' />
- <ComponentRef Id='PythonGlue' />
- <ComponentRef Id='PythonDemo' />
- </Feature>
- </Feature>
-
<!-- Icon used in the installer UI -->
<Binary Id="Up" src="InstallerIcons\Up.ico" />
@@ -897,9 +914,9 @@
<Publish Event="NewDialog" Value="WelcomeDlg">1</Publish>
</Control>
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="[ButtonText_Next]">
- <Publish Event="NewDialog" Value="NotAvailDlg"><![CDATA[IAgree = "Yes" AND (NOT ACTIVE_TCL_VERSION = RequiredTclVersion OR NOT ACTIVE_PERL_VERSION = RequiredPerlVersion OR NOT ACTIVE_PYTHON_VERSION = RequiredPythonVersion)]]></Publish>
+ <Publish Event="NewDialog" Value="NotAvailDlg"><![CDATA[IAgree = "Yes" AND (NOT (ACTIVE_TCL_VERSION << RequiredTclVersion) OR (ACTIVE_PERL_VERSION < RequiredPerlVersion) OR (ACTIVE_PYTHON_VERSION < RequiredPythonVersion))]]></Publish>
<Publish Event="SpawnWaitDialog" Value="WaitForCostingDlg">CostingComplete = 1</Publish>
- <Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[IAgree = "Yes" AND ACTIVE_TCL_VERSION = RequiredTclVersion AND ACTIVE_PERL_VERSION = RequiredPerlVersion AND ACTIVE_PYTHON_VERSION = RequiredPythonVersion]]></Publish>
+ <Publish Event="NewDialog" Value="SetupTypeDlg"><![CDATA[IAgree = "Yes" AND (ACTIVE_TCL_VERSION << RequiredTclVersion) AND (ACTIVE_PERL_VERSION >= RequiredPerlVersion) AND (ACTIVE_PYTHON_VERSION >= RequiredPythonVersion)]]></Publish>
<Condition Action="disable"><![CDATA[IAgree <> "Yes"]]></Condition>
<Condition Action="enable">IAgree = "Yes"</Condition>
</Control>
@@ -924,16 +941,16 @@
<Dialog Id="NotAvailDlg" Width="370" Height="270" Title="[ProductName] [ProductVersion] [Setup]" NoMinimize="yes">
<Control Id="TclWarning" Type="Text" X="45" Y="100" Width="300" Height="20">
- <Text>Active Tcl has not been found or it is not the right version: [ACTIVE_TCL_VERSION] ([RequiredTclVersion] needed)</Text>
- <Condition Action="hide">ACTIVE_TCL_VERSION = RequiredTclVersion</Condition>
+ <Text>Active Tcl not found or not at the right version: [ACTIVE_TCL_VERSION] ([RequiredTclVersion] or greater needed)</Text>
+ <Condition Action="hide"><![CDATA[ACTIVE_TCL_VERSION << RequiredTclVersion]]></Condition>
</Control>
<Control Id="PerlWarning" Type="Text" X="45" Y="150" Width="300" Height="15">
- <Text>Active Perl has not been found or it is not at the right version: [ACTIVE_PERL_VERSION] ([RequiredPerlVersion] needed)</Text>
- <Condition Action="hide">ACTIVE_PERL_VERSION = RequiredPerlVersion</Condition>
+ <Text>Active Perl not found or not at the right version: [ACTIVE_PERL_VERSION] ([RequiredPerlVersion] or greater needed)</Text>
+ <Condition Action="hide"><![CDATA[ACTIVE_PERL_VERSION >= RequiredPerlVersion]]></Condition>
</Control>
<Control Id="PythonWarning" Type="Text" X="45" Y="125" Width="300" Height="20">
- <Text>Active Python has not been found or it is not the right version: [ACTIVEPYDIR] [ACTIVE_PYTHON_VERSION] ([RequiredPythonVersion] needed)</Text>
- <Condition Action="hide">ACTIVE_PYTHON_VERSION = RequiredPythonVersion</Condition>
+ <Text>Active Python not found or not at the right version: [ACTIVE_PYTHON_VERSION] ([RequiredPythonVersion] or greater needed)</Text>
+ <Condition Action="hide"><![CDATA[ACTIVE_PYTHON_VERSION >= RequiredPythonVersion]]></Condition>
</Control>
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="[ButtonText_Back]">
<Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>