From 2dd5d2fc634a426b80bc13bad9d37f8ca909c4be Mon Sep 17 00:00:00 2001 From: robk-tahoe Date: Fri, 11 Jan 2008 20:41:21 -0700 Subject: [PATCH] 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. --- Makefile | 2 ++ windows/Makefile | 5 +++++ windows/installer.ico | Bin 0 -> 33982 bytes windows/installer.iss | 51 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+) create mode 100644 windows/installer.ico create mode 100644 windows/installer.iss 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 0000000000000000000000000000000000000000..aa0f5cb023dbd15fae16bfb1fc2bdf4ee27cd6cd GIT binary patch literal 33982 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 b8t~MByKCUipWk54G|zwVJjdbhJjdaG2u_m| literal 0 HcmV?d00001 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 -- 2.45.2