| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397 | 
							- <?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.8" ?>
 
-   <?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="9bc19bd1-499f-45b7-b89e-cd3cc5e3e75f" ?>
 
-   <?define CurrTorExecutableGUID="58bfbf2f-7414-4b55-a684-28f4a3b30745" ?>
 
-   <?define CurrTorSvcLinksGUID="510a00fd-d67f-45ec-ad9e-7e0efdef8d7f" ?>
 
-   <?define CurrOpenSSLLibraryGUID="b38efb8a-0fbd-470d-ab7b-1b82b854ef20" ?>
 
-   <?define CurrTorDocumentsGUID="d48fd2ca-c963-4162-9e75-cc569dbcf232" ?>
 
-   <?define CurrTorConfigFileGUID="4e45e46d-3c90-42d8-9e90-fa0c186a3c8f" ?>
 
-   <?define CurrTorGeoIPFileGUID="77c4ca0b-c3ab-468d-8385-991b38d6d439" ?>
 
-   <?define CurrAddTorToStartMenuGUID="912419e2-39f3-4dc0-8ff9-cd4ee0f5bef1" ?>
 
-   <?define CurrAddTorToDesktopGUID="011ac12a-ac0e-41eb-987f-f37c45f140fe" ?>
 
-   <?define CurrAddTorDocsToDesktopGUID="c5198bd9-e93e-4594-a5c8-6e1a1d47ef71" ?>
 
-   <?define CurrAddTorEditConfToDesktopGUID="186c6d59-3e85-44b8-a308-a3c8d1195d1f" ?>
 
-   <?define CurrLocalProgramsGUID="889f3be7-16a9-49c3-94fa-9d23fb29e8cf" ?>
 
-   <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>
 
 
  |