From 54f8aa11eb6952d53aad848104d223acd80f0db2 Mon Sep 17 00:00:00 2001 From: mhogomchungu Date: Mon, 23 Apr 2018 15:21:51 +0300 Subject: [PATCH] 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 --- windows-installer.iss | 92 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 windows-installer.iss diff --git a/windows-installer.iss b/windows-installer.iss new file mode 100644 index 0000000..65f56bb --- /dev/null +++ b/windows-installer.iss @@ -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"