TrueCrypt
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>
TrueCrypt MSI File 7.1a
I have created a MSI File for silent install and deinstall. Please look at my blog for download
http://konkretor.blog.de/2012/03/28/truecrypt-msi-packet-7-1a-13325122/
Modify konkretor's (MSI above) to work in Win7 x64 so a user can run it (with a working x64 service) + downloadable
http://www.richud.com/wiki/Windows_7_MSI_Truecrypt_71a_x64_bit_Silent_install
I have re-created Richud's MSI, which is no longer available, here
http://nonprofittechy.blogspot.com/2014/05/install-truecrypt-silently-via-msi.html
GeosOne TrueCrypt MSI File 7.1a
I have created MSI Files for Silent Install The source AIP files for Advanced Installer could be found here if you want to vreate your own msi http://git.disconnected-by-peer.at/go-opsi/truecrypt.truecrypt/ or if you want to use my MSI get theme here http://ftp.disconnected-by-peer.at/TrueCrypt/ i will do inplace updates of the msi files if there ever exists problems