[Spambayes-checkins] spambayes/windows spambayes.iss,1.18,1.19

Tony Meyer anadelonbrin at users.sourceforge.net
Fri Jan 28 02:29:00 CET 2005


Update of /cvsroot/spambayes/spambayes/windows
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22038/windows

Modified Files:
	spambayes.iss 
Log Message:
Distribute mscvr71.dll, which is needed with Python 2.4.

Index: spambayes.iss
===================================================================
RCS file: /cvsroot/spambayes/spambayes/windows/spambayes.iss,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** spambayes.iss	10 Nov 2004 22:08:44 -0000	1.18
--- spambayes.iss	28 Jan 2005 01:28:58 -0000	1.19
***************
*** 1,11 ****
  ;
! ; Inno Setup 4.x setup file for the Spambayes Binaries
  ;
  
  [Setup]
  ; Version specific constants
! AppVerName=SpamBayes 1.0rc1
! AppVersion=0.992
! OutputBaseFilename=spambayes-1.0rc1
  ; Normal constants.  Be careful about changing 'AppName'
  AppName=SpamBayes
--- 1,11 ----
  ;
! ; Inno Setup 5.x setup file for the SpamBayes Binaries
  ;
  
  [Setup]
  ; Version specific constants
! AppVerName=SpamBayes 1.1a1
! AppVersion=1.1a1
! OutputBaseFilename=spambayes-1.1a1
  ; Normal constants.  Be careful about changing 'AppName'
  AppName=SpamBayes
***************
*** 21,25 ****
  
  Source: "py2exe\dist\lib\*.*"; DestDir: "{app}\lib"; Flags: ignoreversion
! Source: "py2exe\dist\bin\python23.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
  
  Source: "py2exe\dist\bin\outlook_addin.dll"; DestDir: "{app}\bin"; Check: InstallingOutlook; Flags: ignoreversion
--- 21,26 ----
  
  Source: "py2exe\dist\lib\*.*"; DestDir: "{app}\lib"; Flags: ignoreversion
! Source: "py2exe\dist\bin\python24.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
! Source: "py2exe\dist\bin\mscvr71.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
  
  Source: "py2exe\dist\bin\outlook_addin.dll"; DestDir: "{app}\bin"; Check: InstallingOutlook; Flags: ignoreversion
***************
*** 49,52 ****
--- 50,57 ----
  [Run]
  Filename: "{app}\bin\outlook_addin_register.exe"; StatusMsg: "Registering Outlook Addin"; Check: InstallingOutlook;
+ ; Possibly register for all users (unregister removes this if it is present, so we don't need
+ ; a special case for that). We do both a single-user registration and then the all-user, because
+ ; that keeps the script much simpler, and it doesn't do any harm.
+ Filename: "{app}\bin\outlook_addin_register.exe"; Parameters: "HKEY_LOCAL_MACHINE"; StatusMsg: "Registering Outlook Addin for all users"; Check: OutlookAllUsers;
  [UninstallRun]
  Filename: "{app}\bin\outlook_addin_register.exe"; Parameters: "--unregister"; StatusMsg: "Unregistering Outlook Addin";Check: InstallingOutlook;
***************
*** 242,243 ****
--- 247,396 ----
    Result := (CurPage = wpSelectTasks) and (not InstallProxy);
  end;
+ 
+ 
+ var
+   InstallOutlook, InstallProxy: Boolean;
+   WarnedNoOutlook, WarnedBoth : Boolean;
+   ComponentsPage: TInputQueryWizardPage;
+ 
+ procedure InitializeWizard;
+ begin
+   { Create the pages }
+ 
+   ComponentsPage := CreateInputQueryPage(wpWelcome,
+     'Personal Information', 'Who are you?',
+     'Please specify your name and the company for whom you work, then click Next.');
+   UserPage.Add('Name:', False);
+   UserPage.Add('Company:', False);
+ 
+   UsagePage := CreateInputOptionPage(UserPage.ID,
+     'Personal Information', 'How will you use My Program?',
+     'Please specify how you would like to use My Program, then click Next.',
+     True, False);
+   UsagePage.Add('Light mode (no ads, limited functionality)');
+   UsagePage.Add('Sponsored mode (with ads, full functionality)');
+   UsagePage.Add('Paid mode (no ads, full functionality)');
+ 
+   { Set default values, using settings that were stored last time if possible }
+ 
+   UserPage.Values[0] := GetPreviousData('Name', ExpandConstant('{sysuserinfoname}'));
+   UserPage.Values[1] := GetPreviousData('Company', ExpandConstant('{sysuserinfoorg}'));
+ 
+   case GetPreviousData('UsageMode', '') of
+     'light': UsagePage.SelectedValueIndex := 0;
+     'sponsored': UsagePage.SelectedValueIndex := 1;
+     'paid': UsagePage.SelectedValueIndex := 2;
+   else
+     UsagePage.SelectedValueIndex := 1;
+   end;
+ 
+   DataDirPage.Values[0] := GetPreviousData('DataDir', '');
+ end;
+ 
+ procedure RegisterPreviousData(PreviousDataKey: Integer);
+ var
+   UsageMode: String;
+ begin
+   { Store the settings so we can restore them next time }
+   SetPreviousData(PreviousDataKey, 'Name', UserPage.Values[0]);
+   SetPreviousData(PreviousDataKey, 'Company', UserPage.Values[1]);
+   case UsagePage.SelectedValueIndex of
+     0: UsageMode := 'light';
+     1: UsageMode := 'sponsored';
+     2: UsageMode := 'paid';
+   end;
+   SetPreviousData(PreviousDataKey, 'UsageMode', UsageMode);
+   SetPreviousData(PreviousDataKey, 'DataDir', DataDirPage.Values[0]);
+ end;
+ 
+ function ShouldSkipPage(PageID: Integer): Boolean;
+ begin
+   { Skip pages that shouldn't be shown }
+   if (PageID = LightMsgPage.ID) and (UsagePage.SelectedValueIndex <> 0) then
+     Result := True
+   else if (PageID = KeyPage.ID) and (UsagePage.SelectedValueIndex <> 2) then
+     Result := True
+   else
+     Result := False;
+ end;
+ 
+ function NextButtonClick(CurPageID: Integer): Boolean;
+ var
+   I: Integer;
+ begin
+   { Validate certain pages before allowing the user to proceed }
+   if CurPageID = UserPage.ID then begin
+     if UserPage.Values[0] = '' then begin
+       MsgBox('You must enter your name.', mbError, MB_OK);
+       Result := False;
+     end else begin
+       if DataDirPage.Values[0] = '' then
+         DataDirPage.Values[0] := 'C:\' + UserPage.Values[0];
+       Result := True;
+     end;
+   end else if CurPageID = KeyPage.ID then begin
+     { Just to show how 'OutputProgress' pages work.
+       Always use a try..finally between the Show and Hide calls as shown below. }
+     ProgressPage.SetText('Authorizing registration key...', '');
+     ProgressPage.SetProgress(0, 0);
+     ProgressPage.Show;
+     try
+       for I := 0 to 10 do begin
+         ProgressPage.SetProgress(I, 10);
+         Sleep(100);
+       end;
+     finally
+       ProgressPage.Hide;
+     end;
+     if KeyPage.Values[0] = 'inno' then
+       Result := True
+     else begin
+       MsgBox('You must enter a valid registration key. (Hint: The key is "inno".)', mbError, MB_OK);
+       Result := False;
+     end;
+   end else
+     Result := True;
+ end;
+ 
+ function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo,
+   MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String;
+ var
+   S: String;
+ begin
+   { Fill the 'Ready Memo' with the normal settings and the custom settings }
+   S := '';
+   S := S + 'Personal Information:' + NewLine;
+   S := S + Space + UserPage.Values[0] + NewLine;
+   if UserPage.Values[1] <> '' then
+     S := S + Space + UserPage.Values[1] + NewLine;
+   S := S + NewLine;
+ 
+   S := S + 'Usage Mode:' + NewLine + Space;
+   case UsagePage.SelectedValueIndex of
+     0: S := S + 'Light mode';
+     1: S := S + 'Sponsored mode';
+     2: S := S + 'Paid mode';
+   end;
+   S := S + NewLine + NewLine;
+ 
+   S := S + MemoDirInfo + NewLine;
+   S := S + Space + DataDirPage.Values[0] + ' (personal data files)' + NewLine;
+ 
+   Result := S;
+ end;
+ 
+ function GetUser(Param: String): String;
+ begin
+   { Return a user value }
+   { Could also be split into separate GetUserName and GetUserCompany functions }
+   if Param = 'Name' then
+     Result := UserPage.Values[0]
+   else if Param = 'Company' then
+     Result := UserPage.Values[1];
+ end;
+ 
+ function GetDataDir(Param: String): String;
+ begin
+   { Return the selected DataDir }
+   Result := DataDirPage.Values[0];
+ end;



More information about the Spambayes-checkins mailing list