123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- <?xml version="1.0" encoding="Windows-1252" ?>
- <!--
- WiX is a Microsoft Installer tool that parses an installation
- specification XML document and produces an MSI package for use on
- updated Windows 2000 and newer systems.
- The MSI package format provides some advantages over the existing NSIS
- packages when used in an automated fashion. A modified version of
- the Mondo UI installer is included without EULA and other unnecessary
- dialogs. You must update the UIRef element below to change UI.
- Compile MSI installer via WiX:
- candle.exe contrib/*.wxs
- light.exe *.wixobj -out tor.msi -ext C:\Path\to\Wix\bin\WixUIExtension.dll
- A silent installation can be performed with a /quiet option passed.
- msiexec /i tor.msi INSTALLDIR=C:\path\to\install\to /qn
- A repair operation can be performed with /f and remove via /x
- More msiexec command line details at:
- http://technet.microsoft.com/en-us/library/cc759262.aspx
- -->
- <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
- Name="Tor"
- Id="1449ef81-e295-43e5-91ac-81b7da0e2024"
- UpgradeCode="64323a0c-9712-4a7a-8db8-d3c5c0b963df"
- Version="$(var.ThisProductVersion)"
- Manufacturer="$(var.TPI)"
- Language="1033" Codepage="1252">
- <!-- Common package definitions. Most of these elements are self
- explanatory or do not need modification.
- Note that there is no support for signature verification nor
- patched upgrades at this time.
- -->
- <Package
- Id="*"
- Keywords="Tor,Installer"
- Description="Tor $(var.ThisProductVersionDisp) Installer"
- Manufacturer="$(var.TPI)"
- Compressed="yes"
- InstallerVersion="100"
- Languages="1033"
- SummaryCodepage="1252"
- />
- <Media Id="1"
- Cabinet="Tor.cab"
- CompressionLevel="high"
- EmbedCab="yes"
- DiskPrompt="na"
- />
- <!-- Properties used to control installation or repair features
- 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
- "Program Files" directory with the Tor binaries, dynamic link
- libraries, configuration files, and other documents.
- -->
- <Directory Id="TARGETDIR" Name="SourceDir">
- <Directory Id="ProgramFilesFolder" Name="ProgramFilesDir">
- <Directory Id="INSTALLDIR" Name="Tor">
- <!-- Tor application file -->
- <Component Id="TorExecutable" Guid="219e0538-7f7f-4445-8406-e4f06ba22417">
- <File
- Id="TorExe"
- Name="Tor.exe"
- Source="bin\tor.exe"
- Vital="yes"
- DiskId="1"
- />
- </Component>
- <!-- If run as service provide registry pointer to Tor path. -->
- <Component Id="TorSvcLinks" Guid="b0e44ccf-4e85-4613-a026-9e3d0feef577">
- <Condition>SVCINSTALL</Condition>
- <RegistryKey Root="HKLM" Key="System\CurrentControlSet\Services\[SERVICEINTERNALNAME]"
- Action="createAndRemoveOnUninstall">
- <RegistryValue Name="TorSvcPath" Value="#1" Type="string" KeyPath="yes" />
- </RegistryKey>
- </Component>
- <!-- Tor OpenSSL shared libraries
- This optional component is required for shared builds
- of Tor. For static builds it is ignored.
- -->
- <Component Id="OpenSSLLibrary" Guid="4d99fd44-dc24-46c6-8825-25b9e5916b85">
- <File
- Id="cryptoeay32dll"
- Name="cryptoeay32-0.9.8.dll"
- Source="bin/cryptoeay32-0.9.8.dll"
- DiskId="1"
- />
- <File
- Id="ssleay32dll"
- Name="ssleay32-0.9.8.dll"
- Source="bin/ssleay32-0.9.8.dll"
- DiskId="1"
- />
- </Component>
- <!-- Tor docs -->
- <Component Id="TorDocuments" Guid="3def35f6-70a0-44af-813a-f96bc8462748">
- <File
- Id="TorReadme"
- Name="README"
- Source="README"
- DiskId="1"
- />
- <File
- Id="TorAuthors"
- Name="Authors"
- Source="Authors"
- DiskId="1"
- />
- <File
- Id="TorChangelog"
- Name="ChangeLog"
- Source="ChangeLog"
- DiskId="1"
- />
- <File
- Id="TorLicense"
- Name="LICENSE"
- Source="LICENSE"
- DiskId="1"
- />
- </Component>
- </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
- Remember that shortcuts must always be tied to a "key"
- registry value for proper repair and removal.
- -->
- <Directory Id="ProgramMenuFolder" Name="Programs">
- <Directory Id="ShortcutFolder" Name="Tor">
- <Component Id="AddTorToStartMenu" Guid="a318c037-e1ed-481c-983d-4a0ad3810ba0">
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="StartMenuShortcut" Value="1" Type="integer" KeyPath="yes" />
- </RegistryKey>
- <Shortcut Id="TorStartMenuShortcut"
- Name="Tor" Target="[INSTALLDIR]tor.exe"
- Directory="ShortcutFolder" WorkingDirectory="INSTALLDIR"
- Icon="tor.ico" IconIndex="0" />
- <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
- </Component>
- </Directory>
- </Directory>
- <Directory Id="DesktopFolder" Name="Desktop">
- <Component Id="AddTorToDesktop" Guid="9a00d5c1-1d5d-4a62-864e-f53f79b3c77a">
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
- <RegistryValue Name="DesktopShortcut" Value="1" Type="integer" KeyPath="yes" />
- </RegistryKey>
- <Shortcut Id="TorDesktopShortcut"
- Name="Tor" Target="[INSTALLDIR]tor.exe"
- Directory="DesktopFolder" WorkingDirectory="INSTALLDIR"
- Icon="tor.ico" IconIndex="0" />
- </Component>
- </Directory>
- <!-- Current version registry info
- This value can be used by third party applications to query
- for the current version installed on the system.
- -->
- <Component Id="TorRegistry" Guid="575de318-a649-49fe-95e5-ee091f6cb8c6">
- <RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Tor"
- Action="createAndRemoveOnUninstall">
- <RegistryValue Name="Version" Value="$(var.ThisProductVersionDisp)" Type="string" KeyPath="yes" />
- </RegistryKey>
- </Component>
- </Directory>
- <!-- Define list of application features available for install
- There are two main sections to this list. The "MainApplication"
- section which defines a core set of mandatory files and setup
- and the other optional components like shortcuts which are not
- required for functional installation.
- -->
- <Feature Id="Complete" Title="Tor"
- Level="1" Display="expand" ConfigurableDirectory="INSTALLDIR"
- Description="Tor is an implementation of Onion Routing. You can read more at https://www.torproject.org/">
- <!-- Core files and setup tasks that must always be included in installation -->
- <Feature Id="MainApplication" Title="Tor Application"
- AllowAdvertise="no" Absent="disallow" Level="1"
- Description="Main Tor application">
- <ComponentRef Id="TorExecutable" />
- <ComponentRef Id="TorConfigFile" />
- <ComponentRef Id="TorGeoIPFile" />
- <ComponentRef Id="OpenSSLLibrary" />
- <ComponentRef Id="TorDocuments" />
- <ComponentRef Id="TorRegistry" />
- <ComponentRef Id="TorSvcLinks" />
- </Feature>
- <!-- Shortcuts on the Start Menu and Desktop are optional but
- provided by default. -->
- <Feature Id="Shortcuts" Title="Shortcuts"
- AllowAdvertise="no" Absent="allow" Level="1"
- Description="Add shortcuts to Tor.">
- <Feature Id="StartMenuShortcuts" Title="Add to Start menu"
- AllowAdvertise="no" Absent="allow" Level="1"
- Description="Add Tor to your Start menu">
- <ComponentRef Id="AddTorToStartMenu" />
- </Feature>
- <Feature Id="DesktopShortcuts" Title="Add to Desktop"
- AllowAdvertise="no" Absent="allow" Level="1"
- Description="Add Tor to your Desktop">
- <ComponentRef Id="AddTorToDesktop" />
- </Feature>
- </Feature>
- </Feature>
- <!-- Upgrade installation sequence. -->
- <InstallExecuteSequence>
- <RemoveExistingProducts After="InstallFinalize" />
- </InstallExecuteSequence>
- <!-- Set the UI options
- Use a custom UI sequence to avoid EULA and other extraneous
- parts of Mondo and other GUIs
- -->
- <UIRef Id="WixUI_Tor" />
- <Icon Id="tor.ico" SourceFile="contrib/tor.ico" />
- </Product>
- </Wix>
|