Difference between revisions of "TrueCrypt"

From WPKG | Open Source Software Deployment and Distribution
Jump to: navigation, search
(TrueCrypt 7.0a)
m (TrueCrypt 7.0a)
Line 2: Line 2:
 
To create a silent installer of 7.0a and allow normal users to create containers involves two steps.  First you must use Inno Setup to create an ISS file (below) and then use ISTool to compile it.  Secondly you must use a RunAs compiler to create an 'Admin' elevated version of the TrueCrypt.exe so that 'normal users' can run TrueCrypt.
 
To create a silent installer of 7.0a and allow normal users to create containers involves two steps.  First you must use Inno Setup to create an ISS file (below) and then use ISTool to compile it.  Secondly you must use a RunAs compiler to create an 'Admin' elevated version of the TrueCrypt.exe so that 'normal users' can run TrueCrypt.
  
You can download Inno tools here [http://http://www.jrsoftware.org/isinfo.php http://www.jrsoftware.org/isinfo.php] and you can find an old version of Steel RunAs (ver 1.2) online.
+
You can download Inno tools here [http://www.jrsoftware.org/isinfo.php http://www.jrsoftware.org/isinfo.php] and you can find an old version of Steel RunAs (ver 1.2) online.
  
 
The 'more smarter ones than me' of you may find that some of the registry HKLM lines are redundant.
 
The 'more smarter ones than me' of you may find that some of the registry HKLM lines are redundant.

Revision as of 18:07, 27 September 2010

TrueCrypt 7.0a

To create a silent installer of 7.0a and allow normal users to create containers involves two steps. First you must use Inno Setup to create an ISS file (below) and then use ISTool to compile it. Secondly you must use a RunAs compiler to create an 'Admin' elevated version of the TrueCrypt.exe so that 'normal users' can run TrueCrypt.

You can download Inno tools here http://www.jrsoftware.org/isinfo.php and you can find an old version of Steel RunAs (ver 1.2) online.

The 'more smarter ones than me' of you may find that some of the registry HKLM lines are redundant.

Download and extract the latest TrueCrypt 7.0a to get the necessary files for the source folder. Create a TrueRunAs.exe using the Steel RunAs tool. The path in RunAs should be "c:\program files\truecrypt\truecrypt.exe".

Copy and save this truecrypt.iss:

[Setup]
AppName=TrueCrypt
AppVerName=TrueCrypt 7.0a
DefaultDirName={pf}\TrueCrypt
VersionInfoVersion=7.0.1
VersionInfoCompany=TrueCrypt Foundation
DefaultGroupName=TrueCrypt
VersionInfoProductName=TrueCrypt
[Icons]
Name: {group}\TrueCrypt; Filename: {app}\TrueCrypt.exe; IconFilename: {app}\TrueCrypt.exe
Name: {group}\TrueCrypt User Guide; Filename: {app}\TrueCrypt User Guide.pdf
Name: {group}\Uninstall TrueCrypt; Filename: {app}\unins000.exe
Name: {commondesktop}\TrueCrypt; Filename: {app}\TrueRunAs.exe
[Files]
Source: c:\source\truecrypt\truecrypt70a\TrueCrypt.exe; DestDir: {app}
Source: c:\source\truecrypt\truecrypt70a\TrueCrypt User Guide.pdf; DestDir: {app}
Source: c:\source\truecrypt\truecrypt70a\TrueCrypt Format.exe; DestDir: {app}
Source: c:\source\truecrypt\truecrypt70a\truecrypt.sys; DestDir: {app}
Source: c:\source\truecrypt\truecrypt70a\truecrypt.sys; DestDir: {sys}\drivers
Source: c:\source\truecrypt\truecrypt70a\truecrypt-x64.sys; DestDir: {app}
Source: c:\source\truecrypt\truecrypt70a\truecrypt-x64.sys; DestDir: {sys}\drivers
[Registry]
Root: HKLM; SubKey: SOFTWARE\Classes\TrueCryptVolume; ValueType: string; ValueName: ; ValueData: TrueCrypt Volume
Root: HKLM; SubKey: SOFTWARE\Classes\TrueCryptVolume; ValueType: string; ValueName: AppUserModelID; ValueData: TrueCryptFoundation.TrueCrypt
Root: HKLM; SubKey: SOFTWARE\Classes\TrueCryptVolume\DefaultIcon; ValueType: string; ValueName: ; ValueData: {pf}\TrueCrypt\TrueCrypt.exe,1
Root: HKLM; SubKey: SOFTWARE\Classes\TrueCryptVolume\Shell\open\command; ValueType: string; ValueName: ; ValueData: "\""{pf}""\TrueCrypt\TrueCrypt.exe\"" /v \""%1\"""
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt; ValueType: dword; ValueName: Type; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt; ValueType: dword; ValueName: Start; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt; ValueType: dword; ValueName: ErrorControl; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt; ValueType: string; ValueName: ImagePath; ValueData: hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,00,69,00,76,00,65,00,72,00,73,00,5c,00,74,00,72,00,75,00,65,00,63,00,72,00,79,00,70,00,74,00,2e,00,73,00,79,00,73,00,00,00
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt; ValueType: string; ValueName: DisplayName; ValueData: truecrypt
Root: HKLM; SubKey: SOFTWARE\Classes\.tc; ValueType: string; ValueName: ; ValueData: TrueCryptVolume
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt\Security; ValueType: binary; ValueName: Security; ValueData: 01 00 14 80 90 00 00 00 9c 00 00 00 14 00 00 00 30 00 00 00 02 00 1c 00 01 00 00 00 02 80 14 00 ff 01 0f 00 01 01 00 00 00 00 00 01 00 00 00 00 02 00 60 00 04 00 00 00 00 00 14 00 fd 01 02 00 01 01 00 00 00 00 00 05 12 00 00 00 00 00 18 00 ff 01 0f 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 00 00 14 00 8d 01 02 00 01 01 00 00 00 00 00 05 0b 00 00 00 00 00 18 00 fd 01 02 00 01 02 00 00 00 00 00 05 20 00 00 00 23 02 00 00 01 01 00 00 00 00 00 05 12 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt\Enum; ValueType: dword; ValueName: Count; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\CurrentControlSet\Services\truecrypt\Enum; ValueType: dword; ValueName: NextInstance; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt; ValueType: dword; ValueName: Type; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt; ValueType: dword; ValueName: Start; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt; ValueType: dword; ValueName: ErrorControl; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt; ValueType: string; ValueName: ImagePath; ValueData: hex(2):53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,64,00,72,00,69,00,76,00,65,00,72,00,73,00,5c,00,74,00,72,00,75,00,65,00,63,00,72,00,79,00,70,00,74,00,2e,00,73,00,79,00,73,00,00,00
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt; ValueType: string; ValueName: DisplayName; ValueData: truecrypt
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt\Security; ValueType: binary; ValueName: Security; ValueData: 01 00 14 80 90 00 00 00 9c 00 00 00 14 00 00 00 30 00 00 00 02 00 1c 00 01 00 00 00 02 80 14 00 ff 01 0f 00 01 01 00 00 00 00 00 01 00 00 00 00 02 00 60 00 04 00 00 00 00 00 14 00 fd 01 02 00 01 01 00 00 00 00 00 05 12 00 00 00 00 00 18 00 ff 01 0f 00 01 02 00 00 00 00 00 05 20 00 00 00 20 02 00 00 00 00 14 00 8d 01 02 00 01 01 00 00 00 00 00 05 0b 00 00 00 00 00 18 00 fd 01 02 00 01 02 00 00 00 00 00 05 20 00 00 00 23 02 00 00 01 01 00 00 00 00 00 05 12 00 00 00 01 01 00 00 00 00 00 05 12 00 00 00
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt\Enum; ValueType: dword; ValueName: Count; ValueData: $00000001
Root: HKLM; SubKey: SYSTEM\ControlSet001\Services\truecrypt\Enum; ValueType: dword; ValueName: NextInstance; ValueData: $00000001

Your package should look like this, notice the /VERYSILENT on the setup.exe line

<package id="truecrypt70a"
         name="TrueCrypt 7.0a"
         revision="7.0.1"
         priority="0"
         reboot="false">
         <check type="uninstall" condition="exists" path="TrueCrypt 7.0a" />
         <install cmd='cmd /c %SOFTWARE%\truecrypt\truecrypt70a-setup.exe /verysilent ' />
         <upgrade cmd='cmd /c %SOFTWARE%\truecrypt\truecrypt70a-setup.exe /verysilent ' />
         <remove cmd='cmd /c %PROGRAMFILES%\truecrypt\unins000.exe /verysilent ' />
</package>

TrueCrypt

This is a silent installer for TrueCrypt, a program for using files or partitions as encrypted volumes. Very high level of security is offered alongside with hidden volumes etc.

Unfortunately it currently doesn't have a silent installer. The following uses msi-packet from RogueSpear (Registration to forums required). Msi-packet doesn't support silent uninstalling.

<package id="TrueCrypt" name="TrueCrypt" revision="611" reboot="false" priority="50">
	<check type="uninstall" condition="exists" path="TrueCrypt 6.1a" />
	<install cmd='msiexec /qn /i "%SOFTWARE%\TrueCrypt\TrueCrypt V6.1a.msi" allusers=1' />
	<upgrade cmd='msiexec /qn /i "%SOFTWARE%\TrueCrypt\TrueCrypt V6.1a.msi" allusers=1' />
</package>