Difference between revisions of "TrueCrypt"
m |
m (add external link) |
||
Line 1: | Line 1: | ||
+ | TrueCrypt is an open source disk encryption software. More infos from [http://www.truecrypt.org/ here] | ||
+ | |||
== TrueCrypt 7.0a == | == 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. | 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. |
Revision as of 09:19, 31 March 2011
TrueCrypt is an open source disk encryption software. More infos from here
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>