]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
add windows installer target to build
authorrobk-tahoe <robk-tahoe@allmydata.com>
Sat, 12 Jan 2008 03:41:21 +0000 (20:41 -0700)
committerrobk-tahoe <robk-tahoe@allmydata.com>
Sat, 12 Jan 2008 03:41:21 +0000 (20:41 -0700)
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.

Makefile
windows/Makefile
windows/installer.ico [new file with mode: 0644]
windows/installer.iss [new file with mode: 0644]

index 7d43d4a5f77217d608bcf4c54850c83829896a33..ee84b9d538e464a0b44dbed3f5cfeeef5f4eb837 100644 (file)
--- 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
index 443096a9002abb03a3dc0d5585f32287ad049070..fc06a02c0d98d0872d4954075ce0c0dd80f4a36a 100644 (file)
@@ -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 (file)
index 0000000..aa0f5cb
Binary files /dev/null and b/windows/installer.ico differ
diff --git a/windows/installer.iss b/windows/installer.iss
new file mode 100644 (file)
index 0000000..3e6bfe8
--- /dev/null
@@ -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