From: robk-tahoe Date: Sat, 12 Jan 2008 03:41:21 +0000 (-0700) Subject: add windows installer target to build X-Git-Url: https://git.rkrishnan.org/specifications//%22%3C?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