New version of Password Safe setup with Inno
Laurent Salle <[email protected]> Sun, 12 Nov 2006 21:26:42 +0100
| Newsgroups | gmane.comp.security.passwordsafe.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello everyone, I submitted last June a new Password Safe setup using Inno Setup. The main benefits of this contribution are: - silent/unattended setup using a previously made answer file. - setup is done for all users and not only the current user - a file association is created for .psafe3 extension. I'm attaching an update which now may eventually be included in the build process using "make". See in the attached Makefile.Release the "installable-iss" target. This new version doesn't need any more to be modified for each new release to change the version constant. A build made from 3.0.4 binary distribution is available at http://taciturne.net/it-notes/microsoft/windows/pwsafe/pwsafe-3.04.exe ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Passwordsafe-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/passwordsafe-devel
Makefile.release
(text/plain, 2.8 KB)
# This makefile automates the build of releases for sourceforge # The RELEASENAME should be changed per release # The RELEASEDIR should be set to whatever works for you. # # 'make -f Makefile.release' or 'make -f Makefile.release release' # will build both binary and source zipfiles. # bin-release or src-release will build only what their names imply. # # Oh, this works with GNU make under Cygwin. YMMV on other makes... RELEASENAME = 3.04 RELEASEDIR = "/cygdrive/c/local/src/PasswordSafe/Releases" # Shouldn't need to change anything below this line BINRELNAME = pwsafe-$(RELEASENAME)-bin SRCRELNAME = pwsafe-$(RELEASENAME)-src RM = /usr/bin/rm CP = /usr/bin/cp MV = /usr/bin/mv SVN = /usr/bin/svn GPG = /usr/local/bin/gpg GPG_KEY = [email protected] GPG_SIGN = $(GPG) --detach-sign --default-key $(GPG_KEY) MD5SUM = /usr/bin/md5sum SHA1SUM = /usr/bin/sha1sum FTP_PUT = /usr/bin/ncftpput -v upload.sourceforge.net incoming PYTHON = /usr/bin/python SVN2LOG = ../../svn2log.py MAKENSIS = /cygdrive/c/local/NSIS/makensis.exe MAKEISS = /cygdrive/c/Program\ Files/Inno\ Setup\ 5/ISCC.exe BIN_MANIFEST = README.txt docs/ReleaseNotes.txt LICENSE \ xml/pwsafe.xsd xml/pwsafe.xsl \ docs/ChangeLog.txt Release/pwsafe.exe html/pwsafe.chm REDISTS = ../../redist/mfc71.dll ../../redist/msvcp71.dll \ ../../redist/msvcr71.dll .PHONY: all release bin-release src-release installable signatures \ upload md5sums sha1sums all: release installable signatures sha1sums upload: (cd $(RELEASEDIR); \ $(FTP_PUT) pwsafe-$(RELEASENAME).exe \ $(BINRELNAME).zip $(SRCRELNAME).zip \ pwsafe-$(RELEASENAME).exe.sig \ $(BINRELNAME).zip.sig $(SRCRELNAME).zip.sig) md5sums: (cd $(RELEASEDIR); \ $(MD5SUM) pwsafe-$(RELEASENAME).exe \ $(BINRELNAME).zip $(SRCRELNAME).zip) sha1sums: (cd $(RELEASEDIR); \ $(SHA1SUM) pwsafe-$(RELEASENAME).exe \ $(BINRELNAME).zip $(SRCRELNAME).zip) signatures: $(GPG_SIGN) $(RELEASEDIR)/pwsafe-$(RELEASENAME).exe $(GPG_SIGN) $(RELEASEDIR)/$(BINRELNAME).zip $(GPG_SIGN) $(RELEASEDIR)/$(SRCRELNAME).zip installable: $(MAKENSIS) /DVERSION=$(RELEASENAME) pwsafe.nsi $(MV) pwsafe-$(RELEASENAME).exe $(RELEASEDIR) installable-iss: $(MAKEISS) pwsafe.iss /dVERSION=$(RELEASENAME) $(MV) pwsafe-$(RELEASENAME).exe $(RELEASEDIR) release: bin-release src-release bin-release: @-mkdir $(RELEASEDIR)/$(BINRELNAME) $(CP) $(BIN_MANIFEST) $(REDISTS) $(RELEASEDIR)/$(BINRELNAME) (cd $(RELEASEDIR); zip -9 -r foo ./$(BINRELNAME); \ $(MV) foo.zip $(BINRELNAME).zip) @$(RM) -rf $(RELEASEDIR)/$(BINRELNAME) src-release: ChangeLog /usr/local/bin/svn export --non-interactive . $(RELEASEDIR)/$(SRCRELNAME) $(MV) ChangeLog $(RELEASEDIR)/$(SRCRELNAME) (cd $(RELEASEDIR); zip -9 -r bar ./$(SRCRELNAME); \ $(MV) bar.zip $(SRCRELNAME).zip) @$(RM) -rf $(RELEASEDIR)/$(SRCRELNAME) ChangeLog: $(SVN) log -v --xml | $(PYTHON) $(SVN2LOG) -L -H -s -O
pwsafe.iss
(text/plain, 4.3 KB)
;$Id: pwsafe.iss,v 1.1 2006/06/11 17:58:40 laurent Exp $
;
; Usage
; -----
;
; This ".iss" file is used by InnoSetup to produce a setup program for Password
; safe.
;
;
; Requirements
; ------------
;
; The optional Inno Setup Preprocessor is needed by this setup. Download
; the Inno Setup "QuickStart Pack" and running the setup, select
; the opitional "Inno Setup Preprocessor".
;
; When building a new relase run:
;
; iscc.exe pwsafe.iss /dVERSION=$(RELEASENAME)
;
; where $(RELEASENAME) is the release version number. This will result
; in a new setup file named pwsafe-$(RELEASENAME).exe
;
; If you simply run
; iscc.exe pwsafe.iss
;
; the $(RELEASENAME) will be deduced from the pwsafe.exe file
; version property.
;
;
; Silent/unattended setup
; -----------------------
;
; The resulting setup program may be used for silent install.
;
; 1) Prepare an answer file by running the setup program with the appropriate options:
; pwsafe-%VERSION%.exe /SAVEINF="pwsafe.iss.inf"
;
; 2) Then, use the answer file to make subsequent silent setups :
; pwsafe-%VERSION%.exe /SILENT /LOADINF="pwsafe.iss.inf"
;
; See the "Setup command line parameters" in the InnoSetup Help File for details.
;
;
; Microsoft Redistributable MFC dlls
; ----------------------------------
;
; This setup program will copy Microsoft MFC dlls in the program folder. See these
; URLs about this behaviour:
; - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore/html/vcoriRedistributingMFCATLOLEDBTemplatesApplications.asp
; - http://support.microsoft.com/kb/326922/en-us
; - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_c_run.2d.time_libraries.asp
;
#pragma option -v+
#pragma verboselevel 9
#define DEBUG
#ifndef VERSION
#define VERSION GetFileVersion(AddBackslash(SourcePath) + "pwsafe.exe")
#endif
[Setup]
AppVersion={#VERSION}
AppVerName=Password Safe {#VERSION}
OutputBaseFilename=pwsafe-{#VERSION}
DefaultDirName={pf}\Password Safe
AppName=Password Safe
SourceDir=.
OutputDir=.
DefaultGroupName=Password Safe
UninstallDisplayIcon={app}\pwsafe.exe
AppPublisher=Password Safe
AppPublisherURL=http://passwordsafe.sourceforge.net/
AppSupportURL=https://sourceforge.net/support/getsupport.php?group_id=41019
AllowNoIcons=yes
Compression=lzma
SolidCompression=yes
LicenseFile=LICENSE
ChangesAssociations=yes
PrivilegesRequired=poweruser
[Files]
Source: "pwsafe.exe"; DestDir: "{app}"
Source: "pwsafe.chm"; DestDir: "{app}"
Source: "README.TXT"; DestDir: "{app}"; Flags: isreadme
Source: "LICENSE"; DestDir: "{app}"
Source: "pwsafe.chm"; DestDir: "{app}"
Source: "ReleaseNotes.txt"; DestDir: "{app}"
Source: "ChangeLog.txt"; DestDir: "{app}"
Source: "mfc71.dll"; DestDir: "{app}"
Source: "msvcp71.dll"; DestDir: "{app}"
Source: "msvcr71.dll"; DestDir: "{app}"
[Icons]
Name: "{group}\Password Safe"; Filename: "{app}\pwsafe.exe"
Name: "{group}\Password Safe Help"; Filename: "{app}\pwsafe.chm"
[Registry]
;
; Delete user's registry parameters upon uninstall.
; (These keys and subkeys will be created by pwsafe.exe on first execution)
;
Root: HKCU; Subkey: "Software\Counterpane Systems\Password Safe"; Flags: dontcreatekey uninsdeletekey
;
; Add registry key to allow running password safe by using the "Start > Run > pwsafe"
; command.
;
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\pwsafe.exe"; ValueType: string; ValueName: "Path"; ValueData: "{app}"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\Microsoft\Windows\CurrentVersion\App Paths\pwsafe.exe"; ValueType: string; ValueName: ""; ValueData: "{app}\pwsafe.exe"; Flags: uninsdeletekey
;
; File association
;
Root: HKCR; Subkey: ".psafe3"; ValueType: string; ValueName: ""; ValueData: "PasswordSafe"; Flags: uninsdeletevalue noerror
Root: HKCR; Subkey: "PasswordSafe"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey noerror
Root: HKCR; Subkey: "PasswordSafe\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\pwsafe.exe,0"; Flags: noerror
Root: HKCR; Subkey: "PasswordSafe\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\pwsafe.exe"" ""%1"""; Flags: noerror
#ifdef DEBUG
#expr SaveToFile(AddBackslash(SourcePath) + "pwsafe-preprocessed.iss")
#endif