[Zope-Checkins] CVS: Zope/inst/WinBuilders/etc - README.html:1.1.2.1 sitecustomize.py:1.1.2.1 zeo.iss.in:1.1.2.1 zlogo_left.bmp:1.1.2.1 zlogo_top.bmp:1.1.2.1 zope.iss.in:1.1.2.1

Christian Theune ct at gocept.com
Mon May 9 04:07:43 EDT 2005


Update of /cvs-repository/Zope/inst/WinBuilders/etc
In directory cvs.zope.org:/tmp/cvs-serv24822/WinBuilders/etc

Added Files:
      Tag: Zope-2_7-branch
	README.html sitecustomize.py zeo.iss.in zlogo_left.bmp 
	zlogo_top.bmp zope.iss.in 
Log Message:
 - Added WinBuilders in 2.7 flavour


=== Added File Zope/inst/WinBuilders/etc/README.html ===
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html>
<head>
<title>Zope Windows Binary Post-Installation QuickStart</title>
</head>
<body bgcolor="#ffffff" link="#000099" alink="#000099" vlink="#000099"
      style="font-family: Arial, Helvetica">

<p>
Welcome to <strong>Zope</strong>, a high-performance object-oriented 
platform for building dynamic Web applications. Here are some quick 
pointers to get you started:
</p>

<ul>

<li>
<p>
If you've launched your Zope instance, and you'd like to get started right
away, you can go directly to the <a href="http://localhost:8080/manage"
target="_new">Zope Management Interface</a>.   Use the username
"admin" and the password you specified during installation process
to log in.  Please be patient as it may take a few moments for your Zope
instance to start before you can connect to it successfully.
</p>

<li>
<p>
If you've not started your Zope instance, you can do so by choosing the
"Run Zope" command from the Zope program group in your Start Menu.  If you
installed Zope as a Windows 'service' (NT/2000/XP only), you may use the
Control Panel --> Administrative Tools --> Services applet to start
your Zope instance as well.  The service will be named "Zope instance at
&lt;instance home directory name&gt;".
</p>
</li>

<li>
<p>
If you've not yet created a Zope instance, perform the following steps to
do so:
</p>
<ol>
  <li>
  Visit a console window (type "cmd" (NT/2000/XP) or "command" (95/98/ME) in the Run box from the Start Menu).
  </li> 
  <li>
  Change to  the "bin" directory directory of your Zope software home using
  the "cd" command, e.g. "cd c:\Program Files\Zope-2.7\bin".
  </li>
  <li>
  Type "python.exe mkzopeinstance.py"
  </li>
  <li>
  Follow the instructions provided by 'mkzopeinstance.py'.
  </li>
</ol>

<p>
To start the resulting instance, visit the directory you specified during your interaction with 'mkzopeinstance.py' and type "bin\runzope.bat".
</p>
</li>

<li>
<p>
For the most complete "starter" documentation, 
<a href="http://www.zope.org/Documentation/ZopeBook/" target="_new">Read The 
Fine Manual</a>.  This document guides you through the whole process of
learning Zope, from logging in for the first time to creating your own
web applications.
</p>
</li>

<li>
<p>
For further documentation, go to the main <a href="http://www.zope.org/Documentation/" target="_new">
Documentation Overview</a> on Zope.org.  Here you will find pointers to 
official and community contributed documentation.
</p>
</li>

<li>
<p>
To get personal assistance with Zope, look at the various <a 
href="http://www.zope.org/Resources/MailingLists" target="_new">Mailing 
Lists</a> about Zope.  The Mailing Lists are where you can get 
quick, accurate, friendly help from a large community of Zope 
users from around the world.
</p>
</li>

<li>
<p>
If you wish, you can find out about <a href="http://www.zope.com/" target="_new">Zope 
Corporation</a>, the publishers of Zope.
</p>
</li>

</ul>

</body>
</html>


=== Added File Zope/inst/WinBuilders/etc/sitecustomize.py ===
""" Add Zope packages in Windows binary distro to sys.path automagically """
import sys
import os
try:
    sp = __file__
except:
    sp = None
if sp:
    dn = os.path.dirname
    swhome = os.path.join(dn(dn(dn(dn(sp)))), 'lib', 'python')
    if os.path.exists(swhome):
        sys.path.insert(0, swhome)



=== Added File Zope/inst/WinBuilders/etc/zeo.iss.in ===
[Setup]
AppName=ZEO <<VERSION>>
AppVerName=ZEO <<VERSION>>
AppPublisher=Zope Corporation
AppPublisherURL=http://www.zope.org
AppSupportURL=http://www.zope.org
AppUpdatesURL=http://www.zope.org
DefaultDirName={pf}\ZEO-<<VERSION>>
DefaultGroupName=ZEO <<VERSION>>
OutputBaseFilename=ZEO-<<VERSION>>-win32
WizardImageFile=<<MAKEFILEDIR>>\etc\zlogo_left.bmp
WizardSmallImageFile=<<MAKEFILEDIR>>\etc\zlogo_top.bmp

SourceDir=.
OutputDir=.

[Components]
Name: main; Description: "Main ZEO files"; Types: full compact custom; Flags: fixed
Name: instance; Description: "ZEO 'instance home' files (required to run ZEO immediately)"; Types: full compact custom; ExtraDiskSpaceRequired: 1453056

[Tasks]
Name: service; Description: "Run your ZEO instance as a Windows service (start ZEO automatically at system startup)"; MinVersion: 4.0,4.0; Components: instance; Check: IsAdministrator

[Files]
; Main ZEO files
Source:"bin\*.*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs
Source:"doc\*.*"; DestDir: "{app}\doc"; Flags: ignoreversion recursesubdirs
Source:"lib\*.*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs
Source:"skel\*.*"; DestDir: "{app}\skel"; Flags: ignoreversion recursesubdirs
; these are required to be put into the bin directory for proper function of NT services
Source:"bin\Lib\site-packages\PythonService.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
Source:"bin\Lib\site-packages\PyWinTypes23.dll"; DestDir: "{app}\bin"; Flags: ignoreversion

[Icons]
Name: "{group}\Run ZEO In Console"; Filename: "{code:GetDataDir}\bin\runzeo.bat"; Check: DoInstanceHome
Name: "{group}\Uninstall ZEO"; Filename: "{uninstallexe}";
Name: "{group}\Make ZEO Instance"; Filename: "{app}\bin\python.exe"; Parameters: """{app}\bin\mkzeoinstance.py"""

[Run]
Filename: "{app}\bin\pythonw.exe"; Parameters: """{app}\bin\compilezpy.py"" ""{app}"" "; Description: "Byte-compiling Python files"; StatusMsg: "Byte-compiling Python files..."
Filename:"{app}\bin\pythonw.exe"; Parameters: """{app}\bin\mkzeoinstance.py"" ""--dir={code:GetDataDir}"" "; Description: "Creating default instance"; StatusMsg: "Creating default instance..."; Check: DoInstanceHome
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zeoservice.py"" --startup auto install"; Check: DoService
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zeoservice.py"" start"; Description: "Launch ZEO"; Flags: nowait postinstall skipifsilent; Check: DoService
Filename: "{code:GetDataDir}\bin\runzeo.bat"; Description: "Launch ZEO"; Flags: nowait postinstall skipifsilent; Check: DontDoService

[UninstallRun]
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zeoservice.py"" stop"; Check: DoService
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zeoservice.py"" remove"; Check: DoService
Filename: "{app}\bin\pythonw.exe"; Parameters: """{app}\bin\decompilezpy.py"" ""{app}"""

[Code]
var
  PasswordPrompts, PasswordValues : array of String;
  PasswordChars		  : array of char;

  DataDirValues: array of String;
  
  Password	  : string;
  DataDir		  :  String;

function InitializeSetup(): Boolean;
begin
  { set up password data structures }
  SetArrayLength(PasswordPrompts, 1);
  PasswordPrompts[0] := 'Password:';
  SetArrayLength(PasswordValues, 1);
  PasswordValues[0] := '';
  SetArrayLength(PasswordChars, 1);
  PasswordChars[0] := '*';
  Password := '';

  { set up data dir data structures }
  SetArrayLength(DataDirValues, 1);
  DataDir := '';
  
  Result := True;
end;

function CollectInstanceDir(): Boolean;

var
  Next: Boolean;
  DirOk: Boolean;

begin
  DirOk := True;
  ScriptDlgPageSetSubCaption1('Select where ZEO instance files should be installed');
	ScriptDlgPageSetSubCaption2('Select the folder to which you would like Setup to install ZEO "instance" files, then click Next.');

 	if DataDir = '' then DataDir:= 'C:\ZEO-Instance';
	if DataDirValues[0] <> '' then DataDirValues[0]:= '';

	{ Ask for a dir until the user has approved one or clicked Back or Cancel }
	
  Next:= InputDir(DataDirValues[0], DataDir);
	
  if Next and FileOrDirExists(DataDir) then DirOk := False;

	while Next and not DirOk do begin
	  if DataDir = '' then begin
	    DirOk := False;
      MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
    end;
  	if FileOrDirExists(DataDir) then begin
	      DirOk := MsgBox('Directory Exists' #13#13 'The directory ' + DataDir + ' already exists.  Would you like to create instance files in that directory anyway?', mbConfirmation, MB_YESNO) = idYes;
	  end;
	  if not DirOk then Next := InputDir(DataDirValues[0], DataDir);
  end;

	Result:=Next;

end;

function DoInstanceHome():Boolean;
var
   S : String;
begin
   S := WizardSelectedComponents(False);
   Result := Pos('instance', S) <> 0;
end;

function DoService(): Boolean;
var
  S : String;
begin
  S := WizardSelectedTasks(False);
  Result := Pos('service', S) <> 0;
end;

function DontDoService(): Boolean;
begin
  Result := not DoService();
end;

function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
   Next	      : Boolean;
   CurSubPage : Integer;
begin
  Next:=True;
  if ( (not BackClicked and (CurPage = wpSelectTasks)) or (BackClicked and (CurPage = wpReady))  )
        and DoInstanceHome() then begin
    ScriptDlgPageOpen();
    ScriptDlgPageSetCaption('Instance Setup');
    Next:=CollectInstanceDir();

    if not BackClicked then
      Result := Next
    else
      Result := not Next;
    ScriptDlgPageClose(not Result);

  end;
  Result:=Next;
end;

function NextButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, False);
end;

function BackButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, True);
end;

function GetPassword(Default: String): String;
begin
  Result := Password;
end;

function GetDataDir(Default	:  String):String;
begin
   Result := DataDir;
end; { GetInstanceDir }

function IsAdministrator(): Boolean;
begin
   Result := IsAdminLoggedOn();
end;



=== Added File Zope/inst/WinBuilders/etc/zlogo_left.bmp ===
BM6O      6  (   }   –          K                 ^^^ ïѳ à¦k Õ„2 666 ä±} Ýœ\ ÄÄÄ ðÖ» lkk Þ¡b ÝÝÝ ýú÷ Ìh ÷èÚ ­­­ Ñu üûú öåÕ Òz" 溌 EEE ÌÌË óßÊ ¤¤£ 轑 òÚ ûõî ôáÍ ™™™ „„„ üöò ØŽC ëÇ¢  Ü™V úòé Ðs QQQ á©p ã¯y ttt ´³³ øíá ùïä ìÈ¥ Ù×Õ În
 íͬ “’‘ îîî Û–Q Ù’J úöò 涆 þüû Ïq ԁ- ŠŠŠ ¿¿¿ Ú•N êÅž Ó) òÜÇ êÁ™ ûøõ úóì ߣh ,,, íʨ ׉; ÷íã ### â¬v éÀ– å´ƒ õâÏ òÛÄ á«u |{z ñØ¿ Ík Ñx ëÊ© å²€ ùðç ÷êÞ ØŒ? õäÒ æ·ˆ Îl
 JJJ LIF ِG ÃÁ¾ Ú“K WVT Ìg  þþý þýü ÑÑÑ ááá ù÷õ ÷ñë Š‡ Îo aa` ëêé í˪ ÛÛÛ îÏ° À¹± ïÓ¶ Ö†6 ÍÊÇ @>= 㲁 ã´ƒ ïÔ¸ ì̬ ¡Ÿ ƒ€} öç×      Ìf  ÿÿÿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}   }t|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||t}   }||}   }||}   }||}   }||}   }||}   }|l*1	   |eh2;2|}   }|}}}}}}}}}}}}}}}}}}}}}}}}}}&fi}}bt  &b}" }}}}}}}}}}}}}}}}};;|}   }|2"}}}}}}}}}}}}}}}}}}}}}}}}} 2)b}b *2yD}}ts}}}}}}HHHH"}}}}}}*;;|}   }|;b}}}}e;|	 &HknH}}D:b}b|}}}}}}2eyy|}   }|)}}}}n"}}`Ab}}`}}}}}}|}   }|}}}}|f"}}}}}`}}}}}}|}   }|fb}}}b.t}}"f)}}}1}}}}}}|}   }|}}}}}}}:2"}}bf}}}}}}|}   }|`}}}}:D}}"21}}} }}}}}}|}   }|2H}}}b.}}} A"}}b}}}}}}|}   }|s}}}} }}} }}}z}}}}}}|}   }|:}}}}|H}}}*}}}t}}}}}}|}   }|}}}b2}}}}l}}}b}}}}}}|}   }|f"}}}DAe}}}Hb}}}}}}2A}}}|}   }|}}}})}}}HH}}}}}}"}}}}"ti}}}|}   }|	}}}}p}}}HH}}}}}}  &t"}}}D}}}D"}|}   }|2H}}}"2}}}bH}}}}}}`}}}t2}}}}}}}}}}}}}|}   }|b}}}`}}}}2b}}}e}}}b}}H2}}}eA|}   }|:}}}}yb}}}eA}}}}2}}}}}}k}}}|}   }|[}}}bn[}}}e}}}D}}}}}b}}}|}   }|f"}}}:}}}[}}})}}}}}}}}}|}   }|*}}}})2b}}b2[}}}}}}e}}}	}}}|}   }|	}}}}p	}}}ib}}t}}}}}} }}}|}   }|2D}}}"22"}}"2 }}};}}}e}}} }}}|}   }|}}}}\*}}}`*}}})}}}}}}1}}}|}   }||}}}}:1}}}^"}}`}}}}}}}}}|}   }|}}}bb}}|*b}}k}}})}}}t}}}|}   }|.b}}}H2H}}; }}"}}}2*\}}}Hf}}}|	&D|}   }|:}}}}\A1"}}D)*e;1[}}"	2}}}HHHHHb}}}}H|2}}}}}}}}}}}}}}A|}   }|}}}}:A "}}}}}}}H 2i         O*.i              l|}   }|fe.b}}}b^2eA|}   }|}}}bH   	||||||D}}}}"f|}   }|}}}}}}}}}}}}}}}}}}}}}}}}[|}   }|                        )|}   }||}   }||}   }||}   }||}   }|GXPE'_    3
J0o?|}   }|P%/
~~~~~~~~~~~~~~~~
/90,|}   }|Mr
~~~~~~~~~~~~~~~~~~~~~~~~~aZ6U|}   }|7'/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rx5|}   }|A-a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%K$|}   }|0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~B|}   }|q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|}   }|,
Z~~~~~~~~~~~~~~~~8F
'MMMYC3~~~~~~~~~~~~~~~~ar|}   }|>~~~~~~~~~~~~~~Z<6XBcV-C~~~~~~~~~~~~~~Q(|}   }|A
~~~~~~~~~~~~Qocda~~~~~~~~~~~~FLc|}   }|Xr~~~~~~~~~~~aRBWQ~~~~~~~~~~~ZJc|}   }|?8~~~~~~~~~~~9!#Z~~~~~~~~~~
A|}   }|8~~~~~~~~~~%JM ~~~~~~~~~~~3|}   }|
~~~~~~~~~QNUdS~~~~~~~~~~3|}   }|Ta~~~~~~~~~>P~~~~~~~~~~<|}   }|cK~~~~~~~~~a
Acx%~~~~~~~~~<7|}   }|~~~~~~~~~Z!>~~~~~~~~~#|}   }|?j~~~~~~~~B
~~~~~~~~~C|}   }|{%~~~~~~~~~~~~~~~~~|}   }|W~~~~~~~~r$'~~~~~~~~QL|}   }|N~~~~~~~~U7'~~~~~~~~R|}   }|oa~~~~~~~%d~~~~~~~~#|}   }|,~~~~~~~Zr~~~~~~~~m|}   }|c#~~~~~~~QmcBU~~~~~~~%V|}   }|Q~~~~~~~8]__<#
'TEPM+UgggAggh{?P=u#<__] r9R%8~~~~~~~~<|}   }|r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aQ%R/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q|}   }|o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]|}   }|7%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aP|}   }|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7|}   }|A8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~P|}   }|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c|}   }|7>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aQ8
~~~~~~Z,|}   }|?a~~~~~~~~~~~~~~~~~~~~~~Q '



9R8/Q
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Z%9


'EP{UhB~~~~~~~6|}   }|~~~~~~~~~~~~~~~~~~~~~~~~ZEc77775VMqo0E-JKT(((((((6=E0PG777$8~~~~~~|}   }|5~~~~~~~~~~~~~~~~~~~~~~~~~~K7C~~~~~~~|}   }|w~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a~~~~~~|}   }|C~~~~~~
9~~~~~~~~~~~~~~~~~~~~~F,%~~~~~~9|}   }|~~~~~~>o
~~~~~~~~~~~~~~~~~~~~~LN~~~~~~Z,|}   }|V~~~~~~~
dW~~~~~~~~~~~~~~~~~~~~~~%P~~~~~~~!|}   }|@~~~~~~~xL
~~~~~~~~~~~~~~~~~~~~~~

~~~~~~|}   }|N~~~~~~/{I~~~~~~~~~~~~~~~~~~~~~~~~c<~~~~~~9|}   }| ~~~~~~>~~~~~~~~~~~~~~~~~~~~~~~~F$(~~~~~~%|}   }|d~~~~~~3{j~~~~~~~~~~~~~~~~~~~~~~~~RMm~~~~~~ZX|}   }|A
~~~~~~J!a~~~~~~~~~~~~~~~~~~~~~~~~j~~~~~~~q|}   }|X~~~~~~amd'~~~~~~~~~~~~~~~~~~~~~~~~~
Ch
~~~~~~J|}   }|q~~~~~~
d~~~~~~~~~~~~~~~~~~~~~~~~~~]+~~~~~~|}   }|=~~~~~~/V]~~~~~~~~~~~~~~~~~~~~~~~~~~?<~~~~~~
|}   }|~~~~~~/$~~~~~~~~~~~~~~~~~~~~~~~~~~Qd3~~~~~~3|}   }|K~~~~~~8,>~~~~~~~~~~~~~~~~~~~~~~~~~~~
$#~~~~~~ |}   }|T~~~~~~8+9~~~~~~~~~~~~~~~~~~~~~~~~~~~#~~~~~~ |}   }|T~~~~~~8,~~~~~~~~~~~~~~~~~~~~~~~~~~~jJ#~~~~~~ |}   }|T~~~~~~8$W~~~~~~~~~~~~~~~~~~~~~~~~~~~a#~~~~~~ |}   }|T~~~~~~j3~~~~~~~~~~~~~~~~~~~~~~~~~~~~3~~~~~~_|}   }|6~~~~~~/V
~~~~~~~~~~~~~~~~~~~~~~~~~~~~QYA<~~~~~~|}   }|~~~~~~
?I
~~~~~~~~~~~~~~~~~~~~~~~~~~~~]+~~~~~~'|}   }|~~~~~~a0JZ~~~~~~~~~~~~~~~~~~~~~~~~~~~~%=h
~~~~~~|}   }|+~~~~~~~@q%~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#V~~~~~~~x|}   }|7
~~~~~~#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Mo~~~~~~
|}   }|d~~~~~~3a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'~~~~~~%U|}   }|
~~~~~~8+(Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>Pc~~~~~~>c|}   }|6~~~~~~~o8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q'cQ~~~~~~#|}   }|~~~~~~~'r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~9P~~~~~~~@|}   }|j~~~~~~rd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ZNT~~~~~~
X|}   }|c3~~~~~~
dmQ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>M%~~~~~~Rc|}   }|@~~~~~~~{9~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~aMa~~~~~~'|}   }|GZ~~~~~~>5d'Q~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~0~~~~~~~|}   }|d<~~~~~~~qw~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8~~~~~~%d|}   }|x~~~~~~~]c$
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j6~~~~~~~|}   }|~~~~~~aLm~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~R-~~~~~~
V|}   }|(~~~~~~~#B
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
F~~~~~~~ c|}   }|+8~~~~~~~w~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ?d$~~~~~~~!|}   }|N~~~~~~~FdIZ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~_wAc~~~~~~~>5|}   }|$j~~~~~~a@r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>'/~~~~~~~=|}   }|~~~~~~~%,J%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~>A|}   }|~~~~~~~<d,
a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q-|}   }|S~~~~~~~aTccL]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3c|}   }|W~~~~~~~~9dc!R~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~jX|}   }|,j~~~~~~~~~]MK8~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|}   }|J
~~~~~~~~~~rJ$+/~~~~~~~~~~~~~~~~~~~~~~~~~~~~~<|}   }|~~~~~~~~~~~~0X#Q~~~~~~~~~~~~~~~~~~~~~~~~~~R+|}   }|~~~~~~~~~~~~~~4 at M?]~~~~~~~~~~~~~~~~~~~~~~~~Z|}   }|8~~~~~~~~~~~~~~~~
j46!{7MF~~~~~~~~~~~~~~~~~~~~~~I|}   }|0a~~~~~~~~~~~~~~~~~~~~~a8
(K at mPXgggAAq!C/a~~~~~~~~~~~~~~~~~~~~~~
7|}   }|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~a

a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7|}   }|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Q>~~~~~~~~~~V|}   }|6
~~~~~~~~~'K
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~9'(~~~~~~~~~RV|}   }|c6a~~~~~~~~=7Y#R~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~j<(]~~~~~~~~~r|}   }|da~~~~~~~~a L!I<Q~~~~~~~~~~~~~~~~~~~~~~~~%'6L$d'Z~~~~~~~~~3V|}   }|q8~~~~~~~~~a,ccdAVYTT4>RRR9r
TT@ddJ%~~~~~~~~~a|}   }|~~~~~~~~~~
c~~~~~~~~~~Z7|}   }|_a~~~~~~~~~~a4!$7?%~~~~~~~~~~~M|}   }|c/~~~~~~~~~~~~#0+wIr~~~~~~~~~~~~~#+|}   }|V_~~~~~~~~~~~~~~8>K!c0@ Ra~~~~~~~~~~~~~jJ|}   }|7!~~~~~~~~~~~~~~~~
j%R(((F8Qa~~~~~~~~~~~~~~~~_|}   }|Yj~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rc|}   }|$'%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!d|}   }|a~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Z_d|}   }|
R~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9v{|}   }|C>a~~~~~~~~~~~~~~~~~~~~~~ZF?|}   }|!W%~~~~~~~~~~~~~
4U|}   }|cdBLq=KTT6-{Ad|}   }||}   }||}   }t|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||t}   }}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}   

=== Added File Zope/inst/WinBuilders/etc/zlogo_top.bmp ===
BMf      6  (   2   <         0  Ä  Ä          êÃœ õäÒ üüü à¥i ™™˜ ÝÜÜ úúú ÓÓÓ ||{ ùîâ Ú’I 峁 òòò ³³³ É]  ýùõ õõõ Õ„2 ðÕ¹ ttt 332 ``` Òz" íÌ« IIH âªq âââ Íi Ïq Þœ[ úñé %%% ëëê òÚ ߡc ïѳ ËËË  îîí ُD ‹‹Š ÷éÚ Ìe  é½’ Îm
 ªªª Ðr ¢¢¢ ôáÍ ZZZ Ëb  繊 ã®x ƒ‚‚ ¼¼¼ Ñu þüú Ü™V øêÝ ÆÆÆ Ô€, Ëd  Îm þþþ üöð úðå ÈZ  ìȤ ׉; ôÞÉ Ê`  ëÆ  ÂÁÁ UUU iii 			 ØŒ? Íj Ó}' Û–P þûø 躍 ûõî ä±~ ñؾ þýü ïÓ¶ þþý Îl Ìf ü÷ò Ö†7 ÇX  êÀ— Íj Ëd Ìf ûóë Ñx Ìg ‘‘ ûõï Ñv# ÇV  æ·‡ ÞŸ_ Ëc Ìd Ëc öç× Ê_  Ëc  ÷÷÷ ¯®­ >>> ppp ØØ× ddd ONN èèç Ïo îϯ ÈÈÈ ß _ ¸¸·     Ìf  ÿÿÿ                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ) GG E)  Eif~~~~~~~~~~i)  QD~~~~g~~g\~~~~<$  $f~~~~~<4Q GG {f~\~~~fE  q~~~\f4$)E"~~~~   )D~~~D  ~~~~"  Dg~~D)D\~~D  7~~~E"~\"  qg~~G ~~~    ~~~)q~~~E  ~~~ Q44 GG G$EGE GGGG 4"4""'~~~D  i~~~~g~g~~~\g~~~~~~~gg~~~g~g~~~~~~~Q  &f~~~~~~~g~~~~~~~~~~~~~~~~~~~g~~~~  "~~~~~~~~~fiiDiDf7fffD~~<DDfi"4 Q~~G  ~~~~~~~~G&)&)&)&)E&)) g~4  )~7~~~~~~~~Q~~7   ~~i$~~~~~~~~~"D~~E  i~~$i~~~~~~~<&q~~q  '~~E)<~~~~~~~)Q~~q  &D~~&)f~~~~~~~~~g $~~"  &D~~E~~~~~~~~4&G~~i  &~\)f~~~~~~~~~\~$~~i  D~~&D~~~~~~~~~G~~D  i~~Ei~~~~~~~~~f&G~~"  "~~G ~~~~~~~~~~i~~   $~f$~~~~~~~~~<)~~&  ~~f))f~~~~~~~~~~~EEg~
  D~g"G~~~~~~~~~~
E"~~4  G~~~E'~~~~~~~~~~~4E~~g  9~~ Q~~~~~~~~~~~ )i~~'   ~~ED~g~~~~~~~~g~~~$  D~~~ $D~~~~~~~~~~Q  E~~~~E&G~~~~~~~~~  E~~~~~iG$)$)&))&i~~~~~~~f)  4~~~~~\g~7~fDfDf<~~f~~~~~~~~G  $~~~iGiDff~~~~~~~~~fDi4ED~~fG  G~~~f )G i4q4E)&i~~~  )f~~~~D&ED~~~~i  & ~~~~~~'fD'iDf~~~~Q  G7~~~~~~~~~~~~D   )&"f~g~~~~~Q$&                    

=== Added File Zope/inst/WinBuilders/etc/zope.iss.in ===
[Setup]
AppName=Zope <<VERSION>>
AppVerName=Zope <<VERSION>>
AppPublisher=Zope Corporation
AppPublisherURL=http://www.zope.org
AppSupportURL=http://www.zope.org
AppUpdatesURL=http://www.zope.org
DefaultDirName={pf}\Zope-<<VERSION>>
DefaultGroupName=Zope <<VERSION>>
OutputBaseFilename=Zope-<<VERSION>>-win32
WizardImageFile=<<MAKEFILEDIR>>\etc\zlogo_left.bmp
WizardSmallImageFile=<<MAKEFILEDIR>>\etc\zlogo_top.bmp

SourceDir=.
OutputDir=.

[Components]
Name: main; Description: "Main Zope files"; Types: full compact custom; Flags: fixed
Name: instance; Description: "Zope 'instance home' files (required to run Zope immediately)"; Types: full compact custom; ExtraDiskSpaceRequired: 1453056

[Tasks]
Name: service; Description: "Run your Zope instance as a Windows service (start Zope automatically at system startup)"; MinVersion: 4.0,4.0; Components: instance; Check: IsAdministrator

[Files]
; Main Zope files
Source: "<<MAKEFILEDIR>>\etc\README.html"; DestDir: "{app}"; Flags: ignoreversion
Source:"bin\*.*"; DestDir: "{app}\bin"; Flags: ignoreversion recursesubdirs
Source:"doc\*.*"; DestDir: "{app}\doc"; Flags: ignoreversion recursesubdirs
Source:"import\*.*"; DestDir: "{app}\import"; Flags: ignoreversion recursesubdirs
Source:"lib\*.*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs
Source:"skel\*.*"; DestDir: "{app}\skel"; Flags: ignoreversion recursesubdirs
; these are required to be put into the bin directory for proper function of NT services
Source:"bin\Lib\site-packages\PythonService.exe"; DestDir: "{app}\bin"; Flags: ignoreversion
Source:"bin\Lib\site-packages\PyWinTypes23.dll"; DestDir: "{app}\bin"; Flags: ignoreversion
; This is a helper module for manging registry entries at uninstall time
Source: "<<MAKEFILEDIR>>\bin\fixreg.py"; DestDir: "{app}\bin"; Flags: ignoreversion

[Icons]
Name: "{group}\Run Zope In Console"; Filename: "{code:GetDataDir}\bin\runzope.bat"; Check: DoInstanceHome
Name: "{group}\Uninstall Zope"; Filename: "{uninstallexe}";
Name: "{group}\Make Zope Instance"; Filename: "{app}\bin\python.exe"; Parameters: """{app}\bin\mkzopeinstance.py"""

[Run]
Filename: "{app}\bin\pythonw.exe"; Parameters: """{app}\bin\compilezpy.py"" ""{app}"" "; Description: "Byte-compiling Python files"; StatusMsg: "Byte-compiling Python files..."
Filename:"{app}\bin\pythonw.exe"; Parameters: """{app}\bin\mkzopeinstance.py"" --user=""admin:{code:GetPassword}"" --dir=""{code:GetDataDir}"" "; Description: "Creating default instance"; StatusMsg: "Creating default instance..."; Check: DoInstanceHome
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zopeservice.py"" --startup auto install"; Check: DoService
Filename: "{app}\README.html"; Flags: shellexec skipifdoesntexist postinstall skipifsilent; Description: "View 'QuickStart' document in a web browser"
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zopeservice.py"" start"; Description: "Launch Zope"; Flags: nowait postinstall skipifsilent; Check: DoService
Filename: "{code:GetDataDir}\bin\runzope.bat"; Description: "Launch Zope"; Flags: nowait postinstall skipifsilent; Check: DontDoService

[UninstallRun]
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zopeservice.py"" stop"; Check: DoService
Filename: "{app}\bin\pythonw.exe"; Parameters: """{code:GetDataDir}\bin\zopeservice.py"" remove"; Check: DoService
Filename: "{app}\bin\pythonw.exe"; Parameters: """{app}\bin\decompilezpy.py"" ""{app}"""
Filename: "{app}\bin\pythonw.exe"; Parameters: """{app}\bin\fixreg.py"" ""<<VERSION>>"""

[Registry]
Root: HKLM; Subkey: "Software\Zope Corporation\Zope"; ValueType: string; ValueName: "PreviousVersion"; ValueData: "{reg:HKLM\Software\Zope Corporation\Zope,CurrentVersion|}"
Root: HKLM; Subkey: "Software\Zope Corporation\Zope"; Flags: uninsdeletekeyifempty; ValueType: string; ValueName: "CurrentVersion"; ValueData: "<<VERSION>>"
Root: HKLM; Subkey: "Software\Zope Corporation\Zope\<<VERSION>>"; Flags: uninsdeletekey; ValueType: string; ValueName: "Home"; ValueData: "{app}"
Root: HKLM; Subkey: "Software\Zope Corporation\Zope\<<VERSION>>"; Flags: uninsdeletekey; ValueType: string; ValueName: "Python"; ValueData: "{app}\bin\python.exe"
Root: HKLM; Subkey: "Software\Zope Corporation\Zope\<<VERSION>>"; Flags: uninsdeletekey; ValueType: string; ValueName: "Pythonw"; ValueData: "{app}\bin\pythonw.exe"

[Code]
var
  PasswordPrompts, PasswordValues : array of String;
  PasswordChars		  : array of char;

  DataDirValues: array of String;
  
  Password	  : string;
  DataDir		  :  String;

function InitializeSetup(): Boolean;
begin
  { set up password data structures }
  SetArrayLength(PasswordPrompts, 1);
  PasswordPrompts[0] := 'Password:';
  SetArrayLength(PasswordValues, 1);
  PasswordValues[0] := '';
  SetArrayLength(PasswordChars, 1);
  PasswordChars[0] := '*';
  Password := '';

  { set up data dir data structures }
  SetArrayLength(DataDirValues, 1);
  DataDir := '';
  
  Result := True;
end;

function CollectInstanceDir(): Boolean;

var
  Next: Boolean;
  DirOk: Boolean;

begin
  DirOk := True;
  ScriptDlgPageSetSubCaption1('Select where Zope instance files should be installed');
	ScriptDlgPageSetSubCaption2('Select the folder to which you would like Setup to install Zope "instance" files, then click Next.');

 	if DataDir = '' then DataDir:= 'C:\Zope-Instance';
	if DataDirValues[0] <> '' then DataDirValues[0]:= '';

	{ Ask for a dir until the user has approved one or clicked Back or Cancel }
	
  Next:= InputDir(DataDirValues[0], DataDir);
	
  if Next and FileOrDirExists(DataDir) then DirOk := False;

	while Next and not DirOk do begin
	  if DataDir = '' then begin
	    DirOk := False;
      MsgBox(SetupMessage(msgInvalidPath), mbError, MB_OK);
    end;
  	if FileOrDirExists(DataDir) then begin
	      DirOk := MsgBox('Directory Exists' #13#13 'The directory ' + DataDir + ' already exists.  Would you like to create instance files in that directory anyway?', mbConfirmation, MB_YESNO) = idYes;
	  end;
	  if not DirOk then Next := InputDir(DataDirValues[0], DataDir);
  end;

	Result:=Next;

end;

function CollectPassword(): Boolean;
var
  Next: Boolean;
begin
  ScriptDlgPageSetSubCaption1('Specify adminisrator password');
	ScriptDlgPageSetSubCaption2('The login name for your Zope administrator account is "admin". When you first connect to the Zope management interface, you will need to login using the "admin" username and the password you specify below.');
	Next := InputQueryArrayEx(PasswordPrompts, PasswordChars, PasswordValues);
	
	while Next and (PasswordValues[0] = '') do begin
	  MsgBox('You must enter an administrator password', mbError, MB_OK)
		Next := InputQueryArrayEx(PasswordPrompts, PasswordChars, PasswordValues);
	end;
	Password := PasswordValues[0];
  Result:=Next;
end;

function DoInstanceHome():Boolean;
var
   S : String;
begin
   S := WizardSelectedComponents(False);
   Result := Pos('instance', S) <> 0;
end;

function DoService(): Boolean;
var
  S : String;
begin
  S := WizardSelectedTasks(False);
  Result := Pos('service', S) <> 0;
end;

function DontDoService(): Boolean;
begin
  Result := not DoService();
end;

function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
   Next	      : Boolean;
   CurSubPage : Integer;
begin
  Next:=True;
  if ( (not BackClicked and (CurPage = wpSelectTasks)) or (BackClicked and (CurPage = wpReady))  )
        and DoInstanceHome() then begin
    if not BackClicked then CurSubPage:=0 else CurSubPage:=1;
     
    ScriptDlgPageOpen();
    ScriptDlgPageSetCaption('Instance Setup');

    while (CurSubPage >=0) and (CurSubPage <=1) and not Terminated do begin
      case CurSubPage of
	      0:  Next:=CollectInstanceDir();
	      1:  Next:=CollectPassword();
	    end;
	    if Next then CurSubPage := CurSubPage +1 else CurSubPage := CurSubPage -1;
	  end;

    if not BackClicked then
      Result := Next
    else
      Result := not Next;
    ScriptDlgPageClose(not Result);

  end;
  Result:=Next;
end;

function NextButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, False);
end;

function BackButtonClick(CurPage: Integer): Boolean;
begin
  Result := ScriptDlgPages(CurPage, True);
end;

function GetPassword(Default: String): String;
begin
  Result := Password;
end;

function GetDataDir(Default	:  String):String;
begin
   Result := DataDir;
end; { GetInstanceDir }

function IsAdministrator(): Boolean;
begin
   Result := IsAdminLoggedOn();
end;




More information about the Zope-Checkins mailing list