add a windows installer

This pull requests adds an "inno setup"[1] installer script to the project. This
script will make it possible to easily package and distribute encfs for windows
using an installer.

[1] http://www.jrsoftware.org/isinfo.php

https://github.com/vgough/encfs/pull/515
This commit is contained in:
mhogomchungu 2018-04-23 15:21:51 +03:00 committed by Jakob Unterwurzacher
parent 7fc3730f67
commit 54f8aa11eb

92
windows-installer.iss Normal file
View File

@ -0,0 +1,92 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "Encfs"
#define MyAppVersion "1.9.5"
#define MyAppPublisher "encfs"
#define MyAppURL "https://github.com/vgough/encfs"
#define MyAppExeName "encfs.exe"
; This variable should contain a path to where libraries needed by encfs are installed.
#define MyLibraryPath "C:\cygwin\bin"
; This variable should contain a path to where cygwin binaries to be packaged are located.
#define MyEXEPath "C:\cygwin\bin"
; This variable should contain a path to where encfs is installed.
; Encfs should not be installed in its own private path.
#define MyEncfsInstalledPath "C:\cygwin\encfs"
; This variable should contain a path to where encfs source files are located.
#define MyEncfsSourcesPath "C:\encfs.src"
; This variable should contain a path to where the installer will be created.
#define MyOutPutPath "C:\encfs-installer"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{BD8CE289-D7C8-420F-9260-F79BFACB2C1D}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
DisableProgramGroupPage=yes
LicenseFile={#MyEncfsSourcesPath}\COPYING
OutputDir={#MyOutPutPath}
OutputBaseFilename=encfs-setup
Compression=lzma
SolidCompression=yes
[Files]
Source: "{#MyEncfsSourcesPath}\COPYING*" ; DestDir: "{app}" ; Flags: ignoreversion
Source: "{#MyEncfsInstalledPath}\share\*" ; DestDir: "{app}\share"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "{#MyEXEPath}\pkill.exe" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyEncfsInstalledPath}\bin\*" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygcrypto-1.0.0.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygfuse-2.8.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygprocps-6.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cyggcc_s-1.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygiconv-2.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygintl-8.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygssl-1.0.0.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygstdc++-6.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygwin1.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
Source: "{#MyLibraryPath}\cygz.dll" ; DestDir: "{app}\bin" ; Flags: ignoreversion
[Registry]
Root: HKLM; Subkey: "SOFTWARE\\WOW6432Node\\ENCFS"; ValueType: string; ValueName: "InstallDir"; ValueData: "{app}" ;Flags: uninsdeletekey
[Languages]
Name: "english" ; MessagesFile: "compiler:Default.isl"
Name: "brazilianportuguese" ; MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"
Name: "catalan" ; MessagesFile: "compiler:Languages\Catalan.isl"
Name: "corsican" ; MessagesFile: "compiler:Languages\Corsican.isl"
Name: "czech" ; MessagesFile: "compiler:Languages\Czech.isl"
Name: "danish" ; MessagesFile: "compiler:Languages\Danish.isl"
Name: "dutch" ; MessagesFile: "compiler:Languages\Dutch.isl"
Name: "finnish" ; MessagesFile: "compiler:Languages\Finnish.isl"
Name: "french" ; MessagesFile: "compiler:Languages\French.isl"
Name: "german" ; MessagesFile: "compiler:Languages\German.isl"
Name: "greek" ; MessagesFile: "compiler:Languages\Greek.isl"
Name: "hebrew" ; MessagesFile: "compiler:Languages\Hebrew.isl"
Name: "hungarian" ; MessagesFile: "compiler:Languages\Hungarian.isl"
Name: "italian" ; MessagesFile: "compiler:Languages\Italian.isl"
Name: "japanese" ; MessagesFile: "compiler:Languages\Japanese.isl"
Name: "norwegian" ; MessagesFile: "compiler:Languages\Norwegian.isl"
Name: "polish" ; MessagesFile: "compiler:Languages\Polish.isl"
Name: "portuguese" ; MessagesFile: "compiler:Languages\Portuguese.isl"
Name: "russian" ; MessagesFile: "compiler:Languages\Russian.isl"
Name: "scottishgaelic" ; MessagesFile: "compiler:Languages\ScottishGaelic.isl"
Name: "serbiancyrillic" ; MessagesFile: "compiler:Languages\SerbianCyrillic.isl"
Name: "serbianlatin" ; MessagesFile: "compiler:Languages\SerbianLatin.isl"
Name: "slovenian" ; MessagesFile: "compiler:Languages\Slovenian.isl"
Name: "spanish" ; MessagesFile: "compiler:Languages\Spanish.isl"
Name: "turkish" ; MessagesFile: "compiler:Languages\Turkish.isl"
Name: "ukrainian" ; MessagesFile: "compiler:Languages\Ukrainian.isl"