mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-11-27 22:03:31 +01:00
Update WiX installer definitions to support silent upgrades of existing installations.
svn:r17499
This commit is contained in:
parent
cf75162a0c
commit
92562d6e7a
@ -22,12 +22,24 @@
|
|||||||
http://technet.microsoft.com/en-us/library/cc759262.aspx
|
http://technet.microsoft.com/en-us/library/cc759262.aspx
|
||||||
-->
|
-->
|
||||||
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
<!-- Definitions for critical elements of this MSI package.
|
||||||
|
Note that the product version is compressed into a X.X.X format. If the four
|
||||||
|
element version is used, the last octet is ignored when comparing versions
|
||||||
|
for upgrade, thus forcing the use of the three element version format.
|
||||||
|
UpgradeCode must remain the same for all packages of this type regardless of
|
||||||
|
Product or Package ID's. This is how existing versions are located.
|
||||||
|
-->
|
||||||
|
<?define ThisProductVersion="2.1.7" ?>
|
||||||
|
<?define ThisProductVersionDisp="@VERSION@" ?>
|
||||||
|
<?define UpgradeCode="64323a0c-9712-4a7a-8db8-d3c5c0b963df" ?>
|
||||||
|
<?define TPI="The Tor Project, Inc." ?>
|
||||||
|
|
||||||
<Product
|
<Product
|
||||||
Name="Tor"
|
Name="Tor"
|
||||||
Id="1449ef81-e295-43e5-91ac-81b7da0e2024"
|
Id="1449ef81-e295-43e5-91ac-81b7da0e2024"
|
||||||
UpgradeCode="64323a0c-9712-4a7a-8db8-d3c5c0b963df"
|
UpgradeCode="64323a0c-9712-4a7a-8db8-d3c5c0b963df"
|
||||||
Version="0.2.1.7"
|
Version="$(var.ThisProductVersion)"
|
||||||
Manufacturer="The Tor Project, Inc."
|
Manufacturer="$(var.TPI)"
|
||||||
Language="1033" Codepage="1252">
|
Language="1033" Codepage="1252">
|
||||||
|
|
||||||
<!-- Common package definitions. Most of these elements are self
|
<!-- Common package definitions. Most of these elements are self
|
||||||
@ -37,25 +49,60 @@
|
|||||||
-->
|
-->
|
||||||
<Package
|
<Package
|
||||||
Id="*"
|
Id="*"
|
||||||
Keywords="Installer"
|
Keywords="Tor,Installer"
|
||||||
Description="Tor Installer"
|
Description="Tor $(var.ThisProductVersionDisp) Installer"
|
||||||
Manufacturer="The Tor Project, Inc."
|
Manufacturer="$(var.TPI)"
|
||||||
Compressed="yes"
|
Compressed="yes"
|
||||||
InstallerVersion="100"
|
InstallerVersion="100"
|
||||||
Languages="1033"
|
Languages="1033"
|
||||||
SummaryCodepage="1252"
|
SummaryCodepage="1252"
|
||||||
/>
|
/>
|
||||||
<Media
|
<Media Id="1"
|
||||||
Id="1"
|
|
||||||
Cabinet="Tor.cab"
|
Cabinet="Tor.cab"
|
||||||
CompressionLevel="high"
|
CompressionLevel="high"
|
||||||
EmbedCab="yes"
|
EmbedCab="yes"
|
||||||
DiskPrompt="na"
|
DiskPrompt="na"
|
||||||
/>
|
/>
|
||||||
<Property
|
|
||||||
Id="DiskPrompt"
|
<!-- Properties used to control installation or repair features
|
||||||
Value="Tor Installation"
|
and other invocation options.
|
||||||
|
When ALLUSERS==1 the install is per machine, when 2 it is per user.
|
||||||
|
-->
|
||||||
|
<Property Id="ALLUSERS">1</Property>
|
||||||
|
<Property Id="ReinstallModeText">omus</Property>
|
||||||
|
<Property Id="DiskPrompt">Tor Installation</Property>
|
||||||
|
|
||||||
|
<!-- Support for service type Tor installations (soon). -->
|
||||||
|
<Property Id="SVCINSTALL">0</Property>
|
||||||
|
<Property Id="SERVICENAME">Tor</Property>
|
||||||
|
<Property Id="SERVICEINTERNALNAME">Tor</Property>
|
||||||
|
<Property Id="EXISTING_TOR_SERVICE_PATH">
|
||||||
|
<RegistrySearch
|
||||||
|
Id="ExistingTorService"
|
||||||
|
Root="HKLM"
|
||||||
|
Key="System\CurrentControlSet\Services\[SERVICEINTERNALNAME]"
|
||||||
|
Name="TorSvcPath"
|
||||||
|
Type="raw"
|
||||||
/>
|
/>
|
||||||
|
</Property>
|
||||||
|
|
||||||
|
<!-- Associate this package with the upgrade code for this series
|
||||||
|
to ensure that upgrade installations by Thandy or other means work
|
||||||
|
as expected.
|
||||||
|
The OnlyDetect option must be false to ensure that existing files
|
||||||
|
from an older version are removed and replaced with current files.
|
||||||
|
-->
|
||||||
|
<Upgrade Id="64323a0c-9712-4a7a-8db8-d3c5c0b963df">
|
||||||
|
<UpgradeVersion
|
||||||
|
Property="UPGRADEFOUND"
|
||||||
|
OnlyDetect="no"
|
||||||
|
Minimum="0.0.1"
|
||||||
|
IncludeMinimum="yes"
|
||||||
|
Maximum="$(var.ThisProductVersion)"
|
||||||
|
IncludeMaximum="no"
|
||||||
|
/>
|
||||||
|
</Upgrade>
|
||||||
|
|
||||||
|
|
||||||
<!-- Most of the installation directives are for populating the
|
<!-- Most of the installation directives are for populating the
|
||||||
"Program Files" directory with the Tor binaries, dynamic link
|
"Program Files" directory with the Tor binaries, dynamic link
|
||||||
@ -76,25 +123,13 @@
|
|||||||
/>
|
/>
|
||||||
</Component>
|
</Component>
|
||||||
|
|
||||||
<!-- Tor configuration files
|
<!-- If run as service provide registry pointer to Tor path. -->
|
||||||
The sample config is always kept up to date and the torrc
|
<Component Id="TorSvcLinks" Guid="b0e44ccf-4e85-4613-a026-9e3d0feef577">
|
||||||
is left as is if it exists and copied from the sample
|
<Condition>SVCINSTALL</Condition>
|
||||||
config otherwise.
|
<RegistryKey Root="HKLM" Key="System\CurrentControlSet\Services\[SERVICEINTERNALNAME]"
|
||||||
-->
|
Action="createAndRemoveOnUninstall">
|
||||||
<Component Id="TorConfigFile" Guid="1dae9705-0bef-4588-be36-d8a5df5e47cc">
|
<RegistryValue Name="TorSvcPath" Value="#1" Type="string" KeyPath="yes" />
|
||||||
<File
|
</RegistryKey>
|
||||||
Id="TorSampleConfig"
|
|
||||||
Name="torrc.sample"
|
|
||||||
Source="src\config\torrc.sample"
|
|
||||||
Vital="yes"
|
|
||||||
ReadOnly="yes"
|
|
||||||
DiskId="1"
|
|
||||||
>
|
|
||||||
<CopyFile
|
|
||||||
Id="TorConfig"
|
|
||||||
DestinationName="torrc"
|
|
||||||
/>
|
|
||||||
</File>
|
|
||||||
</Component>
|
</Component>
|
||||||
|
|
||||||
<!-- Tor OpenSSL shared libraries
|
<!-- Tor OpenSSL shared libraries
|
||||||
@ -146,6 +181,51 @@
|
|||||||
</Directory>
|
</Directory>
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
|
<Directory Id="LocalAppDataFolder" Name="AppData">
|
||||||
|
<Directory Id="AppRootDirectory" Name="Tor">
|
||||||
|
<!-- Tor configuration files
|
||||||
|
The sample config is always kept up to date and the torrc
|
||||||
|
is left as is if it exists and copied from the sample
|
||||||
|
config otherwise.
|
||||||
|
-->
|
||||||
|
<Component Id="TorConfigFile" Guid="1dae9705-0bef-4588-be36-d8a5df5e47cc">
|
||||||
|
<CreateFolder/>
|
||||||
|
<RemoveFolder Id="RemoveAppRootDirectory" On="uninstall" />
|
||||||
|
<RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
||||||
|
<RegistryValue Name="UserConfigFile" Value="1" Type="integer" KeyPath="yes" />
|
||||||
|
</RegistryKey>
|
||||||
|
<File
|
||||||
|
Id="TorSampleConfig"
|
||||||
|
Name="torrc.sample"
|
||||||
|
Source="src\config\torrc.sample"
|
||||||
|
Vital="yes"
|
||||||
|
ReadOnly="yes"
|
||||||
|
DiskId="1"
|
||||||
|
>
|
||||||
|
<CopyFile
|
||||||
|
Id="TorConfig"
|
||||||
|
DestinationName="torrc"
|
||||||
|
/>
|
||||||
|
</File>
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<!-- GeoIP data file. This is an optional component. -->
|
||||||
|
<Component Id="TorGeoIPFile" Guid="54dcb7e9-ea49-4be5-8c1a-32bf45306f9b">
|
||||||
|
<RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
||||||
|
<RegistryValue Name="UserGeoIPFile" Value="1" Type="integer" KeyPath="yes" />
|
||||||
|
</RegistryKey>
|
||||||
|
<File
|
||||||
|
Id="GeoIPFile"
|
||||||
|
Name="geoip"
|
||||||
|
Source="share/tor/geoip"
|
||||||
|
Vital="no"
|
||||||
|
ReadOnly="yes"
|
||||||
|
DiskId="1"
|
||||||
|
/>
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
<!-- Create shortcuts if requested
|
<!-- Create shortcuts if requested
|
||||||
Remember that shortcuts must always be tied to a "key"
|
Remember that shortcuts must always be tied to a "key"
|
||||||
registry value for proper repair and removal.
|
registry value for proper repair and removal.
|
||||||
@ -184,10 +264,9 @@
|
|||||||
<Component Id="TorRegistry" Guid="575de318-a649-49fe-95e5-ee091f6cb8c6">
|
<Component Id="TorRegistry" Guid="575de318-a649-49fe-95e5-ee091f6cb8c6">
|
||||||
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Tor"
|
<RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Tor"
|
||||||
Action="createAndRemoveOnUninstall">
|
Action="createAndRemoveOnUninstall">
|
||||||
<RegistryValue Name="Version" Value="@VERSION@" Type="string" KeyPath="yes" />
|
<RegistryValue Name="Version" Value="$(var.ThisProductVersionDisp)" Type="string" KeyPath="yes" />
|
||||||
</RegistryKey>
|
</RegistryKey>
|
||||||
</Component>
|
</Component>
|
||||||
|
|
||||||
</Directory>
|
</Directory>
|
||||||
|
|
||||||
<!-- Define list of application features available for install
|
<!-- Define list of application features available for install
|
||||||
@ -206,9 +285,11 @@
|
|||||||
Description="Main Tor application">
|
Description="Main Tor application">
|
||||||
<ComponentRef Id="TorExecutable" />
|
<ComponentRef Id="TorExecutable" />
|
||||||
<ComponentRef Id="TorConfigFile" />
|
<ComponentRef Id="TorConfigFile" />
|
||||||
|
<ComponentRef Id="TorGeoIPFile" />
|
||||||
<ComponentRef Id="OpenSSLLibrary" />
|
<ComponentRef Id="OpenSSLLibrary" />
|
||||||
<ComponentRef Id="TorDocuments" />
|
<ComponentRef Id="TorDocuments" />
|
||||||
<ComponentRef Id="TorRegistry" />
|
<ComponentRef Id="TorRegistry" />
|
||||||
|
<ComponentRef Id="TorSvcLinks" />
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
<!-- Shortcuts on the Start Menu and Desktop are optional but
|
<!-- Shortcuts on the Start Menu and Desktop are optional but
|
||||||
@ -229,6 +310,11 @@
|
|||||||
</Feature>
|
</Feature>
|
||||||
</Feature>
|
</Feature>
|
||||||
|
|
||||||
|
<!-- Upgrade installation sequence. -->
|
||||||
|
<InstallExecuteSequence>
|
||||||
|
<RemoveExistingProducts After="InstallFinalize" />
|
||||||
|
</InstallExecuteSequence>
|
||||||
|
|
||||||
<!-- Set the UI options
|
<!-- Set the UI options
|
||||||
Use a custom UI sequence to avoid EULA and other extraneous
|
Use a custom UI sequence to avoid EULA and other extraneous
|
||||||
parts of Mondo and other GUIs
|
parts of Mondo and other GUIs
|
||||||
|
Loading…
Reference in New Issue
Block a user