|
@@ -1,397 +0,0 @@
|
|
|
-<?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 /log debug.txt /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.12" ?>
|
|
|
- <?define ThisProductVersionDisp="@VERSION@" ?>
|
|
|
- <?define UpgradeCode="64323a0c-9712-4a7a-8db8-d3c5c0b963df" ?>
|
|
|
- <?define TPI="The Tor Project, Inc." ?>
|
|
|
-
|
|
|
- <!-- The remaining GUIDs are assigned to components or other variable
|
|
|
- identifiers. Whenever a new package is built these values MUST be
|
|
|
- modified for upgrades to work correctly! Note that future MSI packages should
|
|
|
- re-use components that haven't changed to speed installation.
|
|
|
- -->
|
|
|
- <?define CurrTorProductGUID="cfe3de89-4407-4af2-ac2c-4443bd68a61b" ?>
|
|
|
- <?define CurrTorExecutableGUID="9c3db54b-05d7-4800-a84c-569105f99b93" ?>
|
|
|
- <?define CurrTorSvcLinksGUID="4ef7f1e7-282f-4540-93a1-dbe66326d8f2" ?>
|
|
|
- <?define CurrOpenSSLLibraryGUID="bf2b03ec-f86b-4e71-b59d-268a7b21eb4a" ?>
|
|
|
- <?define CurrTorDocumentsGUID="46abcd7a-3ff2-45c8-9e58-120cb60d8291" ?>
|
|
|
- <?define CurrTorConfigFileGUID="994cc2a2-63f9-44f9-950d-4012fd79e945" ?>
|
|
|
- <?define CurrTorGeoIPFileGUID="0934c295-8d97-4588-924a-9572e7334f59" ?>
|
|
|
- <?define CurrAddTorToStartMenuGUID="0cb459e2-1c31-4dca-a143-badbb2273170" ?>
|
|
|
- <?define CurrAddTorToDesktopGUID="a5aee150-186c-4db6-90be-faba50bb0d49" ?>
|
|
|
- <?define CurrAddTorDocsToDesktopGUID="1b5bd78c-bb4d-4271-a2c4-aeb409aa1774" ?>
|
|
|
- <?define CurrAddTorEditConfToDesktopGUID="5fef2413-86ad-4ee5-a843-c4432051820c" ?>
|
|
|
- <?define CurrLocalProgramsGUID="25f95ae1-70f9-4ef4-b709-3412a31f5248" ?>
|
|
|
-
|
|
|
- <Product
|
|
|
- Name="Tor $(var.ThisProductVersionDisp)"
|
|
|
- Id="$(var.CurrTorProductGUID)"
|
|
|
- UpgradeCode="$(var.UpgradeCode)"
|
|
|
- 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"
|
|
|
- InstallPrivileges="limited"
|
|
|
- />
|
|
|
- <Media Id="1"
|
|
|
- Cabinet="Tor.cab"
|
|
|
- CompressionLevel="high"
|
|
|
- EmbedCab="yes"
|
|
|
- DiskPrompt="na"
|
|
|
- />
|
|
|
-
|
|
|
- <!-- 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="$(var.UpgradeCode)">
|
|
|
- <UpgradeVersion
|
|
|
- Property="UPGRADEFOUND"
|
|
|
- OnlyDetect="no"
|
|
|
- Minimum="0.0.1"
|
|
|
- IncludeMinimum="yes"
|
|
|
- Maximum="$(var.ThisProductVersion)"
|
|
|
- IncludeMaximum="no"
|
|
|
- />
|
|
|
- </Upgrade>
|
|
|
-
|
|
|
- <!-- for now force per-user installation until run as service is completed. -->
|
|
|
- <Property Id="ALLUSERS" Secure="yes"/>
|
|
|
-
|
|
|
- <!-- To avoid placing shortcuts all over the desktop / start menu during a
|
|
|
- silent installation the NOSC=1 option can be passed to omit shortcuts.
|
|
|
- This is useful if bundled with other applications like Vidalia that manage
|
|
|
- configuration and Tor related processes themselves.
|
|
|
- -->
|
|
|
- <Property Id="NOSC" Secure="yes"/>
|
|
|
-
|
|
|
- <!-- Properties used to control installation or repair features
|
|
|
- and other invocation options.
|
|
|
- -->
|
|
|
- <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>
|
|
|
-
|
|
|
- <!-- 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="LocalAppDataFolder" Name="LocalAppData">
|
|
|
- <Directory Id="LocalProgramsFolder" Name="Programs">
|
|
|
-
|
|
|
- <!-- Until proper support for per-user installs is available we manage Programs folder.
|
|
|
- Note that this directory will be left in place if it is in use by any other app.
|
|
|
- -->
|
|
|
- <Component Id="LocalProgramsFolderRef" Guid="$(var.CurrLocalProgramsGUID)">
|
|
|
- <CreateFolder/>
|
|
|
- <RemoveFolder Id="RemoveLocalProgramsFolder" On="uninstall" />
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="LocalProgramsFolderRef" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- </Component>
|
|
|
-
|
|
|
- <Directory Id="LocalProgramsInstDir" Name="Tor">
|
|
|
- <!-- Tor application file -->
|
|
|
- <Component Id="TorExecutable" Guid="$(var.CurrTorExecutableGUID)">
|
|
|
- <CreateFolder/>
|
|
|
- <RemoveFolder Id="RemoveLocalProgramsInstDir" On="uninstall" />
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="Version" Value="$(var.ThisProductVersionDisp)" Type="string" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <File
|
|
|
- Id="TorExe"
|
|
|
- Name="Tor.exe"
|
|
|
- Source="bin\tor.exe"
|
|
|
- Vital="yes"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- </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="$(var.CurrOpenSSLLibraryGUID)">
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="UserSSLLibrary" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <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>
|
|
|
- </Directory>
|
|
|
- </Directory>
|
|
|
-
|
|
|
- <Directory Id="INSTALLDIR" 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="$(var.CurrTorConfigFileGUID)">
|
|
|
- <CreateFolder/>
|
|
|
- <RemoveFolder Id="RemoveINSTALLDIR" 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-example.txt"
|
|
|
- Source="src\config\torrc.sample"
|
|
|
- Vital="yes"
|
|
|
- ReadOnly="no"
|
|
|
- DiskId="1"
|
|
|
- >
|
|
|
- <CopyFile
|
|
|
- Id="TorConfig"
|
|
|
- DestinationName="torrc.txt"
|
|
|
- />
|
|
|
- </File>
|
|
|
- </Component>
|
|
|
-
|
|
|
- <!-- GeoIP data file. This is an optional component. -->
|
|
|
- <Component Id="TorGeoIPFile" Guid="$(var.CurrTorGeoIPFileGUID)">
|
|
|
- <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>
|
|
|
-
|
|
|
- <!-- Tor docs. unix2dos.exe on each text file is recommended for win32 packages. -->
|
|
|
- <Directory Id="TorDocsDirectory" Name="docs">
|
|
|
- <Component Id="TorDocuments" Guid="$(var.CurrTorDocumentsGUID)">
|
|
|
- <CreateFolder/>
|
|
|
- <RemoveFolder Id="RemoveTorDocsDirectory" On="uninstall" />
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="UserDocs" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <File
|
|
|
- Id="TorReadme"
|
|
|
- Name="README.txt"
|
|
|
- Source="README"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- <!-- HTML generated via: groff -man doc/tor.1 -T html > Usage.html -->
|
|
|
- <File
|
|
|
- Id="TorUsage"
|
|
|
- Name="Usage.html"
|
|
|
- Source="Usage.html"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- <File
|
|
|
- Id="TorAuthors"
|
|
|
- Name="Authors.txt"
|
|
|
- Source="Authors"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- <File
|
|
|
- Id="TorChangelog"
|
|
|
- Name="ChangeLog.txt"
|
|
|
- Source="ChangeLog"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- <File
|
|
|
- Id="TorLicense"
|
|
|
- Name="LICENSE.txt"
|
|
|
- Source="LICENSE"
|
|
|
- DiskId="1"
|
|
|
- />
|
|
|
- </Component>
|
|
|
- </Directory>
|
|
|
- </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="$(var.CurrAddTorToStartMenuGUID)">
|
|
|
- <Condition><![CDATA[NOSC <> 1]]> </Condition>
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="StartMenuShortcut" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <Shortcut Id="TorStartMenuShortcut"
|
|
|
- Name="Tor" Target="[LocalProgramsInstDir]tor.exe"
|
|
|
- Directory="ShortcutFolder" WorkingDirectory="LocalProgramsInstDir"
|
|
|
- Icon="tor.ico" IconIndex="0" />
|
|
|
- <RemoveFolder Id="RemoveShortcutFolder" On="uninstall" />
|
|
|
- </Component>
|
|
|
- </Directory>
|
|
|
- </Directory>
|
|
|
-
|
|
|
- <Directory Id="DesktopFolder" Name="Desktop">
|
|
|
- <Component Id="AddTorToDesktop" Guid="$(var.CurrAddTorToDesktopGUID)">
|
|
|
- <Condition><![CDATA[NOSC <> 1]]> </Condition>
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="DesktopShortcut" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <Shortcut Id="TorDesktopShortcut"
|
|
|
- Name="Tor" Target="[LocalProgramsInstDir]tor.exe"
|
|
|
- Directory="DesktopFolder" WorkingDirectory="LocalProgramsInstDir"
|
|
|
- Icon="tor.ico" IconIndex="0" />
|
|
|
- </Component>
|
|
|
- <Component Id="AddTorDocsToDesktop" Guid="$(var.CurrAddTorDocsToDesktopGUID)">
|
|
|
- <Condition><![CDATA[NOSC <> 1]]> </Condition>
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="DesktopDocsShortcut" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <Shortcut Id="TorDocsDesktopShortcut"
|
|
|
- Name="Tor Docs" Target="[TorDocsDirectory]"
|
|
|
- Directory="DesktopFolder" WorkingDirectory="INSTDIR" />
|
|
|
- </Component>
|
|
|
- <Component Id="AddTorEditConfToDesktop" Guid="$(var.CurrAddTorEditConfToDesktopGUID)">
|
|
|
- <Condition><![CDATA[NOSC <> 1]]> </Condition>
|
|
|
- <RegistryKey Root="HKCU" Key="Software\Tor" Action="createAndRemoveOnUninstall">
|
|
|
- <RegistryValue Name="DesktopEditConfShortcut" Value="1" Type="integer" KeyPath="yes" />
|
|
|
- </RegistryKey>
|
|
|
- <Shortcut Id="TorEditConfDesktopShortcut"
|
|
|
- Name="Edit Tor Config"
|
|
|
- Target="[WindowsFolder]notepad.exe"
|
|
|
- Arguments="[INSTALLDIR]torrc.txt"
|
|
|
- Directory="DesktopFolder" WorkingDirectory="INSTDIR" />
|
|
|
- </Component>
|
|
|
- </Directory>
|
|
|
- </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="LocalProgramsFolderRef" />
|
|
|
- <ComponentRef Id="TorExecutable" />
|
|
|
- <ComponentRef Id="TorConfigFile" />
|
|
|
- <ComponentRef Id="TorGeoIPFile" />
|
|
|
- <ComponentRef Id="OpenSSLLibrary" />
|
|
|
- <ComponentRef Id="TorDocuments" />
|
|
|
- </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 Tor 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 Tor shortcut to Desktop"
|
|
|
- AllowAdvertise="no" Absent="allow" Level="1"
|
|
|
- Description="Add shortcut to launch Tor on Desktop">
|
|
|
- <ComponentRef Id="AddTorToDesktop" />
|
|
|
- </Feature>
|
|
|
- <Feature Id="DesktopDocsShortcuts" Title="Add Tor docs folder to Desktop"
|
|
|
- AllowAdvertise="no" Absent="allow" Level="1"
|
|
|
- Description="Add Tor documentation folder to Desktop">
|
|
|
- <ComponentRef Id="AddTorDocsToDesktop" />
|
|
|
- </Feature>
|
|
|
- <Feature Id="DesktopEditConfShortcuts" Title="Edit Tor config shortcut on Desktop"
|
|
|
- AllowAdvertise="no" Absent="allow" Level="1"
|
|
|
- Description="Edit Tor config file shortcut on Desktop">
|
|
|
- <ComponentRef Id="AddTorEditConfToDesktop" />
|
|
|
- </Feature>
|
|
|
- </Feature>
|
|
|
- </Feature>
|
|
|
-
|
|
|
- <!-- Upgrade installation sequence. -->
|
|
|
- <InstallExecuteSequence>
|
|
|
- <RemoveExistingProducts After="InstallValidate" />
|
|
|
- </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>
|
|
|
-
|