From: robk-tahoe <robk-tahoe@allmydata.com>
Date: Sat, 12 Jan 2008 03:41:21 +0000 (-0700)
Subject: add windows installer target to build
X-Git-Url: https://git.rkrishnan.org/frontends/...?a=commitdiff_plain;h=2dd5d2fc634a426b80bc13bad9d37f8ca909c4be;p=tahoe-lafs%2Ftahoe-lafs.git

add windows installer target to build

add 'windows-installer' target to top level makefile to build a windows setup.exe package
using innosetup.  this assumes innosetup 5 is installed in program files as normal.

this doesn't include any logic to manage version numbers at this point, it's just a
simple experiment to test out building an installer as yet.
---

diff --git a/Makefile b/Makefile
index 7d43d4a5..ee84b9d5 100644
--- a/Makefile
+++ b/Makefile
@@ -421,3 +421,5 @@ deb-gutsy-head:
 windows-exe:
 	PYTHON=$(PYTHON) $(PP) $(MAKE) -C windows
 
+windows-installer: windows-exe
+	$(MAKE) -C windows installer
diff --git a/windows/Makefile b/windows/Makefile
index 443096a9..fc06a02c 100644
--- a/windows/Makefile
+++ b/windows/Makefile
@@ -1,7 +1,12 @@
 
+INNOSETUP := $(shell cygpath -u "$(PROGRAMFILES)/Inno Setup 5/Compile32.exe")
+
 # note that this requires the python path to be set appropriately, and hence this
 # should be invoked by calling the windows-exe taget in the top level makefile
 
 windows-exe:
 	$(PYTHON) setup.py py2exe
 
+installer:
+	$(INNOSETUP)
+	#$(INNOSETUP) /cc installer.iss
diff --git a/windows/installer.ico b/windows/installer.ico
new file mode 100644
index 00000000..aa0f5cb0
Binary files /dev/null and b/windows/installer.ico differ
diff --git a/windows/installer.iss b/windows/installer.iss
new file mode 100644
index 00000000..3e6bfe80
--- /dev/null
+++ b/windows/installer.iss
@@ -0,0 +1,51 @@
+[Setup]
+AppName=Allmydata Tahoe
+AppVerName=Allmydata Tahoe 2.9
+AppVersion=2.9.0
+VersionInfoVersion=2.9.0
+AppPublisher=Allmydata Inc.
+AppPublisherURL=http://www.allmydata.com/
+AppSupportURL=http://www.allmydata.com/support/
+DefaultDirName={pf}\Allmydata.Tahoe
+DefaultGroupName=Allmydata
+; minumum version NT 4, no classic windows
+MinVersion=0,4.0
+Compression=lzma/max
+SolidCompression=yes
+OutputDir=installer/Allmydata_Tahoe_Setup_v2_9_0.exe
+SourceDir=dist
+SetupIconFile=installer.ico
+UninstallDisplayIcon=installer.ico
+; license file needs to be build/all dir
+;LicenseFile=../license.txt
+OutputBaseFilename=AllmydataSetup-%BUILD%
+
+[Files]
+; contents of 'binaries' dir. (consolidated build target)
+Source: "*.*"; DestDir: "{app}\Install"; Flags: restartreplace replacesameversion uninsrestartdelete
+Source: ".\web\*.*"; DestDir: "{app}\web"; Flags: recursesubdirs
+
+[Dirs]
+Name: "{app}\noderoot"
+
+[Icons]
+; Program files entries
+Name: "{group}\Tahoe root dir (web)"; Filename: "{app}\Install\tahoe.exe"; Parameters: "webopen"
+Name: "{group}\Allmydata Help"; Filename: "http://www.allmydata.com/help.php"
+
+[Run]
+; Things performed before the final page of the installer
+Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-install"; Flags: runhidden
+Filename: "{app}\Install\tahoe.exe"; Parameters: "create-client ""{app}\noderoot"""; Description: "Set the node into debug logging mode"; Flags: runhidden
+Filename: "{app}\Install\confwiz.exe"; Flags: hidewizard
+;Filename: "{app}\Install\ReadMe.txt"; Description: "View the ReadMe file"; Flags: unchecked postinstall nowait shellexec skipifdoesntexist
+
+[UninstallRun]
+; Performed before the uninstaller runs to undo things
+Filename: "{sys}\net.exe"; Parameters: "stop Tahoe"; Flags: runhidden
+Filename: "{app}\Install\tahoesvc.exe"; Parameters: "-remove"; Flags: runhidden
+;Filename: "http://www.allmydata.com/redirect/uninstallsurvey.php?build=%BUILD%"; Flags: shellexec
+
+[Registry]
+Root: HKLM; Subkey: "Software\Allmydata"; Flags: uninsdeletekeyifempty
+Root: HKLM; Subkey: "Software\Allmydata"; ValueType: string; ValueName: "Base Dir Path"; ValueData: "{app}\noderoot"; Flags: uninsdeletekey