[Python-checkins] CVS: distutils/misc PythonPowered.bmp,NONE,1.1 archive.h,NONE,1.1 extract.c,NONE,1.1 wininst.exe,NONE,1.1 install.c,1.1,1.2 install.rc,1.1,1.2 resource.h,1.1,1.2 wininst.dsp,1.1,1.2 wininst.dsw,1.1,1.2
Greg Ward
python-dev@python.org
Fri, 25 Aug 2000 19:40:18 -0700
Update of /cvsroot/python/distutils/misc
In directory slayer.i.sourceforge.net:/tmp/cvs-serv19394/misc
Modified Files:
install.c install.rc resource.h wininst.dsp wininst.dsw
Added Files:
PythonPowered.bmp archive.h extract.c wininst.exe
Log Message:
New release of the Windows installer from Thomas Heller.
The known bug (bogus error message when an empty file is
extracted) is fixed.
Other changes:
- The target-compile and target-optimize flags of bdist_wininst
are gone. It is no longer possible to compile the python
files during installation.
- The zlib module is no longer required or used by bdist_wininst.
- I moved the decompression/extraction code into a separate
file (extract.c).
- The installer stub is now compressed by UPX (see
http://upx.tsx.org/). This reduces the size of the exe
(and thus the overhead of the final installer program)
from 40 kB to 16 kB.
- The installer displays a more uptodate user wizard-like
user interface, also containing a graphic: Just's Python Powered logo.
(I could not convince myself to use one of the BeOpen logos).
- The installation progress bar now moves correctly.
--- NEW FILE ---
BM
--- NEW FILE ---
#pragma pack(1)
/* zip-archive headers
* See: http://www.pkware.com/appnote.html
*/
struct eof_cdir {
long tag; /* must be 0x06054b50 */
short disknum;
short firstdisk;
short nTotalCDirThis;
short nTotalCDir;
long nBytesCDir;
long ofsCDir;
short commentlen;
};
struct cdir {
long tag; /* must be 0x02014b50 */
short version_made;
short version_extract;
short gp_bitflag;
short comp_method;
short last_mod_file_time;
short last_mod_file_date;
long crc32;
long comp_size;
long uncomp_size;
short fname_length;
short extra_length;
short comment_length;
short disknum_start;
short int_file_attr;
long ext_file_attr;
long ofs_local_header;
};
struct fhdr {
long tag; /* must be 0x04034b50 */
short version_needed;
short flags;
short method;
short last_mod_file_time;
short last_mod_file_date;
long crc32;
long comp_size;
long uncomp_size;
short fname_length;
short extra_length;
};
struct meta_data_hdr {
int tag;
int uncomp_size;
};
#pragma pack()
typedef int (*NOTIFYPROC)(int code, LPSTR text, ...);
extern BOOL extract_file (char *dst, struct fhdr *phdr, char *src,
NOTIFYPROC callback);
extern BOOL unzip_archive (char *dirname, char *data, DWORD size,
NOTIFYPROC callback);
extern char *map_new_file (DWORD flags, char *filename, char
*pathname_part, struct fhdr *pfhdr,
NOTIFYPROC callback);
extern BOOL ensure_directory (char *pathname, char *new_part,
NOTIFYPROC callback);
#define DIR_CREATED 1
#define CAN_OVERWRITE 2
#define FILE_CREATED 3
#define ZLIB_ERROR 4
#define SYSTEM_ERROR 5
#define NUM_FILES 6
#define FILE_OVERWRITTEN 7
--- NEW FILE ---
#include <windows.h>
#include <commctrl.h>
#include <shlobj.h>
#include "resource.h"
#define ZLIB_DLL
#include "zlib/zlib.h"
#include <stdio.h>
#include <stdarg.h>
#include "archive.h"
/* Convert unix-path to dos-path */
static void fixpath (char *path)
{
while (path && *path) {
if (*path == '/')
*path = '\\';
++path;
}
}
BOOL ensure_directory (char *pathname, char *new_part, NOTIFYPROC notify)
{
while (new_part && *new_part && (new_part = strchr (new_part, '\\'))) {
DWORD attr;
*new_part = '\0';
attr = GetFileAttributes (pathname);
if (attr == -1) {
/* nothing found */
if (!CreateDirectory (pathname, NULL) && notify)
notify (SYSTEM_ERROR, "CreateDirectory (%s)", pathname);
}
if (attr & FILE_ATTRIBUTE_DIRECTORY) {
;
} else {
SetLastError (183);
if (notify)
notify (SYSTEM_ERROR, "CreateDirectory (%s)", pathname);
}
*new_part = '\\';
++new_part;
}
return TRUE;
}
/* XXX Should better explicitely specify
* uncomp_size and file_times instead of pfhdr!
*/
char *map_new_file (DWORD flags, char *filename,
char *pathname_part, struct fhdr *pfhdr,
NOTIFYPROC notify)
{
HANDLE hFile, hFileMapping;
char *dst;
int size = pfhdr->uncomp_size;
FILETIME ft;
try_again:
if (!flags)
flags = CREATE_NEW;
hFile = CreateFile (filename,
GENERIC_WRITE | GENERIC_READ,
0, NULL,
flags,
FILE_ATTRIBUTE_NORMAL, NULL);
if (hFile == INVALID_HANDLE_VALUE) {
DWORD x = GetLastError();
switch (x) {
case ERROR_FILE_EXISTS:
if (notify && notify (CAN_OVERWRITE, filename))
hFile = CreateFile (filename,
GENERIC_WRITE | GENERIC_READ,
0, NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
else {
if (notify)
notify (FILE_OVERWRITTEN, filename);
return NULL;
}
break;
case ERROR_PATH_NOT_FOUND:
if (ensure_directory (filename, pathname_part, notify))
goto try_again;
else
return FALSE;
break;
default:
SetLastError (x);
break;
}
}
if (hFile == INVALID_HANDLE_VALUE) {
if (notify)
notify (SYSTEM_ERROR, "CreateFile (%s)", filename);
return NULL;
}
if (notify)
notify (FILE_CREATED, filename);
DosDateTimeToFileTime (pfhdr->last_mod_file_date,
pfhdr->last_mod_file_time, &ft);
SetFileTime (hFile, &ft, &ft, &ft);
if (size == 0) {
/* We cannot map a zero-length file (Also it makes
no sense */
CloseHandle (hFile);
return NULL;
}
hFileMapping = CreateFileMapping (hFile,
NULL, PAGE_READWRITE, 0, size, NULL);
CloseHandle (hFile);
if (hFileMapping == INVALID_HANDLE_VALUE) {
if (notify)
notify (SYSTEM_ERROR, "CreateFileMapping (%s)", filename);
return NULL;
}
dst = MapViewOfFile (hFileMapping,
FILE_MAP_WRITE, 0, 0, 0);
CloseHandle (hFileMapping);
if (!dst) {
if (notify)
notify (SYSTEM_ERROR, "MapViewOfFile (%s)", filename);
return NULL;
}
return dst;
}
BOOL
extract_file (char *dst, struct fhdr *phdr, char *src, NOTIFYPROC notify)
{
z_stream zstream;
int result;
if (phdr->method == Z_DEFLATED) {
int x;
long crc = 0;
memset (&zstream, 0, sizeof (zstream));
zstream.next_in = src;
zstream.avail_in = phdr->comp_size+1;
zstream.next_out = dst;
zstream.avail_out = phdr->uncomp_size;
/* Apparently an undocumented feature of zlib: Set windowsize
to negative values to supress the gzip header and be compatible with
zip! */
result = TRUE;
if (Z_OK != (x = inflateInit2(&zstream, -15))) {
if (notify)
notify (ZLIB_ERROR, "inflateInit2 returns %d", x);
result = FALSE;
goto cleanup;
}
if (Z_STREAM_END != (x = inflate(&zstream, Z_FINISH))) {
if (notify)
notify (ZLIB_ERROR, "inflate returns %d", x);
result = FALSE;
}
cleanup:
if (Z_OK != (x = inflateEnd(&zstream))) {
if (notify)
notify (ZLIB_ERROR, "inflateEnd returns %d", x);
result = FALSE;
}
} else if (phdr->method == 0) {
memcpy(dst, src, phdr->uncomp_size);
result = TRUE;
} else
result = FALSE;
UnmapViewOfFile(dst);
return result;
}
/* Open a zip-compatible archive and extract all files
* into the specified directory (which is assumed to exist)
*/
BOOL
unzip_archive (char *dirname, char *data, DWORD size, NOTIFYPROC notify)
{
int n;
char pathname[MAX_PATH];
char *new_part;
/* read the end of central directory record */
struct eof_cdir *pe = (struct eof_cdir *)&data[size - sizeof
(struct eof_cdir)];
int arc_start = size - sizeof (struct eof_cdir) - pe->nBytesCDir -
pe->ofsCDir;
/* set position to start of central directory */
int pos = arc_start + pe->ofsCDir;
/* make sure this is a zip file */
if (pe->tag != 0x06054b50)
return FALSE;
/* Loop through the central directory, reading all entries */
for (n = 0; n < pe->nTotalCDir; ++n) {
char *fname;
char *pcomp;
char *dst;
struct cdir *pcdir = (struct cdir *)&data[pos];
struct fhdr *pfhdr = (struct fhdr *)&data[pcdir->ofs_local_header +
arc_start];
if (pcdir->tag != 0x02014b50)
return FALSE;
if (pfhdr->tag != 0x04034b50)
return FALSE;
pos += sizeof (struct cdir);
fname = (char *)&data[pos]; /* This is not null terminated! */
pos += pcdir->fname_length + pcdir->extra_length +
pcdir->comment_length;
pcomp = &data[pcdir->ofs_local_header
+ sizeof (struct fhdr)
+ arc_start
+ pfhdr->fname_length
+ pfhdr->extra_length];
strcpy (pathname, dirname);
strcat (pathname, "\\");
new_part = &pathname[lstrlen (pathname)];
strncat (pathname, fname, pfhdr->fname_length);
fixpath (pathname);
if (pathname[strlen(pathname)-1] != '\\') {
dst = map_new_file (0, pathname, new_part, pfhdr, notify);
if (dst) {
if (!extract_file (dst, pfhdr, pcomp, notify))
return FALSE;
} /* else ??? */
}
if (notify)
notify (NUM_FILES, new_part, (int)pe->nTotalCDir,
(int)n+1);
}
return TRUE;
}
--- NEW FILE ---
MZ
$
*{.4
APt Pm{/\SjUٲ.gfdu%.hT0S;Y$t
]EKfH
އ@Q{J}{3
P;u tVjVdy=h8l<&+S*hS%v;u'64y(3m'|[8S]R!WFf=
3+L*4.+l>7.oXMP @~<
FVvT#4~썅]TlghPN\
tLP%
;V|9:@
Pk8jA!89WҚ\D};/u
WP$QVp<qJ jf
Y3h`Q
ө3g_8kl>ڶw߶
qtoHoj0llhx,a@@ @hЋVHH^Ac]p5,c89DЊuf.(v$E/ojh<%Wha3g0p-E 8=3WWu|nDBZVd[S3
tA[""P{@P"HP^xd\++KVjdgno|܋[
gtIMEtCtBj#togkc b7tIAB.^oj$hb@,^@d٠3A,t
h d`"uA6h'=(Bz:A2!q%/owu]tjY}F}`D52
hЀV/='`xxlZiP
wV7ÅώRPP4W;UۿO\uDH@0|3S~n7ru
F
']w-'jQ<_
GRF@S+맲}QSπWV&1:xJl4+E?@StЂtihƚ
A
XQ?'l
\Tb
la^
?&[(:$
ܶZu
?d ~:` 8~(9~$u$0j[ &'>L
x_Vωzw
@x|Y_TJRQn7Pҁ6eRV4x
AOAz[v3nfLyV',_iqSPUmw;v
>
#÷K\
ćq$0(F=I
-/5ѺEBs.tOUl-dl"P(&v]v$XNZ4Hf@v=n[{^y.6Ct{!V_6>yh %c)8b&?
kY!\uUmDm,6m"Ois3HRͶDT90g^-c䍷^JH-sI4 k7
;HB:PH7%ʉH9
\2$n͖6?9H46l3YChܲu WgYhrjcP;Gn9HpKO7
P#g>VI %C(! !xN0,#k;if4,p
Ds+H,\ uL@~s<Y'C
HLыcG18/r7dKwcYtlz+?AHvWH R
0Q]'v8R7<$\!4zuQ,R>P(<f9\Xq7ba]uX s,-pn?L,O=|@'"rԼ+5r38;l\1 K&&:-L*
ߵÅ|D;u#{(-t;s+ǶHWd+s5uguLAHSS47G0j֣
oL:1+IK,Fs>Uu bmrANȤa^{v;>ؠDс-+F\%DR
K]t+x)&\h]d<A*s8WɁ2}%?% e<m[}F⍳tswH(Pao<HCnަqSF7
b-shY24ia2,NO-ѱWK+aj{gr0s!^<41i5n7 rp$
oCSQR4WmgPQ0Ll!>|Oe47v,5]{Y~<;s3J;hJXsC.͋ɵww0x#T滭4vU4skm+En;\Êq@7#t3Y%w+$;s;-0G#|wU#&VkbԐeS
ޭ;*ujX*97s
ke Yvg@5$L$6p%4w=
=< +y;PNWlY)Hs^k<0_+8VLMQ|Ih{@tV]ٶT
; 阠
A&!Sc OECH7^*C)*r\n`+,:-!.4p05~X*fvY1j
z\߽Ur+Qߢa䐳wVC9C99lCMdi+uFHu
ocwL5ں[m1][&_B?Pn=P]ÖT7j"OEPwZHu
3M:ߵ^ql@G
#gm
l(Fz,~;)+"{E\*eURv"MOUw8V2ȣ~H\g(
@F0rtluI#MT_a(fcW,MEbsD@\.0
,r}g# F-VI`kGnE+E-@ILtbDw"&@Eè
9s'}BH7,`y3'LZk}MέԷr@`04Ee^0DadDnReBAC(0o~݀cku+LM7@lB# JxVN,-6ۧu!>0;'T-)NgDi#Rr2dFFb<m@b]ca"-r^b> #B J>AH;PNfIa4h7
BHDpE+ct
C+"d@|3IJ 0f@#bPej+
+SVPIBe
l Qv gu c[YuVUl7P S RUD+zL7D_[SRGdwW
~{4]^Lt}梦[@0OX,,)ρr$WDHiLPTX\i`dhlptix|$i%62~\DDCJ9uq+_n)*ľ[x/l;C9(=AA7&vvsb+x.n9.uJ;;6,v%TQ;s\D+3x%SrofЕD^[+@yN6,J3LHIFuoFlW=
Cv\xB{MC;rWBN5!]t
q$RuǪ<(4>⏁34eC
;Io[+> ;MY`{`8,,-l8+E;&O: I˸},L;v'-,,6nA}-m+r$$ԗX;狱|36r& +z,/68?t8CL_Dؠ,ˈ1z&Jc[-C+;t{Ow J(bZn n{*ӈ=1r7)軓s҃ԕ`q wk}1K41!/Zn$G⼴;[t6s
$@+!_a8hdN_f4U$
d4RAhRVURpEo!X`>8dgL(H8{7s;LxSVR=QKu$':
n]@@v逇@Qclk{vmqjwv,
{;Xt2 V+ՂJ0V8nT_pK<U6C<R=n͋r>bYʦj;ǿK,
u~AnѹD(
us4
[؝+9WGWV-XG0|^Z{䌊0zQaZ(R]TQr5^xYn7iQ ;q078?Q;QA9s +R]NI1&{6%, <"IAKaGrXŢW0#Ȋ4;Ǎ,2Nh]+g9#k`^
|;v
X *Z~Dmx>Ў8N MY#l/.ux##cĺn[[25#[
i
? inflate 1.3 Copyrightf}995-8 Mark Adler K{Wco{{wk_i#+3i;CScsi%!!e
Wizar\wq7`lstax on yno@ c)puSr. Click Next nt.umKcelih`S}p[.No[kybNڂ<ekoSoftw e\Py3OvvsCo\IPnh? Vsi[m(fgtp)gEEDS&ERSION d~FOUNDw]XbYnЮ6}?
If#:,>vchg3Ex[y*G@cs =gs,*oB!aaMԾwGErr`%6t Ov㣽wr/e5iPfD?
PsmJYESoALWAY o.=,
p-NO,hPS+CANCEL\SK
6di#duy..8<opI&6sfaKdana
rgƘq_von3"Ctl([NI-FILE <9ln{eiIo3\+,ogrCkBval| s,2g;c6Zp"Cylv
XWCFke3+_s|c| )ڲ9
k'Det
` `AA?2Ȁ@
2`X2HS;x84Qh2 ( H4
2TU +t24
d2 $2 DAl\AiTS|a<؟dl,dALdARA#rAd2db"dABdAZACzAd:dj*
dAJfAVdA
Yǐ
#Z71s:!aBWOz;K![or$
IZao%`w6#d7%[7v!IW78{-YB!olZjeCo˂
UoG:lo/tkiuqo&
kZooGQٲ1
}
Q*>Sh%u1Wz?5d
w}kl Qtmn%-oy}kr cmu)y.u]C/ikNx>wf6)t/n]uƾQGCcl+
%9i;h+=aC.]6r)
/Nam/OutpDebug,rV,UnmHI:kQmlsBT8D+
ndA[M:[s?0At\c,s]x6Sn%LadcV'
qDosD{ \To! ?لCl$6UpSr;
jPnnv_of5
O9BklP!" ObjD=ؿMBqS<idBrush4l,f_vm!pnc3u7w,_cJlf_5w~cept_hdr38
tf
SAJ4Vf ;cRSytFgKcBf3D-wsJKj6DlgI7GWR>"ܩaCMZ@BoxCrYDXGYMJb*#UpS1:
Ұ֚-YS<eek
nTr!sl?xAD߈[CursAELw@̾M9CKA
@ .rK#S{e@.&<H,lSN`'Os`m
Index: install.c
===================================================================
RCS file: /cvsroot/python/distutils/misc/install.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** install.c 2000/06/28 02:04:01 1.1
--- install.c 2000/08/26 02:40:11 1.2
***************
*** 1,993 ****
! /*
! * Written by Thomas Heller, May 2000
! *
! * $Id$
! */
!
! /*
! * Windows Installer program for distutils.
! *
! * (a kind of self-extracting zip-file)
[...1791 lines suppressed...]
! unescape (info);
! GetPrivateProfileString ("Setup", "target_version", "",
! target_version, sizeof (target_version),
! ini_file);
!
! GetPrivateProfileString ("metadata", "name", "",
! meta_name, sizeof (meta_name),
! ini_file);
!
! hwndMain = CreateBackground (title);
!
! RunWizard (hwndMain);
!
! /* Clean up */
! UnmapViewOfFile (arc_data);
! if (ini_file)
! DeleteFile (ini_file);
!
! return 0;
! }
Index: install.rc
===================================================================
RCS file: /cvsroot/python/distutils/misc/install.rc,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** install.rc 2000/06/28 02:04:01 1.1
--- install.rc 2000/08/26 02:40:11 1.2
***************
*** 1,109 ****
! //Microsoft Developer Studio generated resource script.
! //
! #include "resource.h"
!
! #define APSTUDIO_READONLY_SYMBOLS
! /////////////////////////////////////////////////////////////////////////////
! //
! // Generated from the TEXTINCLUDE 2 resource.
! //
! #include "afxres.h"
!
! /////////////////////////////////////////////////////////////////////////////
! #undef APSTUDIO_READONLY_SYMBOLS
!
! /////////////////////////////////////////////////////////////////////////////
! // German (Germany) resources
!
! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
! #ifdef _WIN32
! LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
! #pragma code_page(1252)
! #endif //_WIN32
!
! /////////////////////////////////////////////////////////////////////////////
! //
! // Dialog
! //
!
! IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 276, 223
! STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
! CAPTION "Installation"
! FONT 8, "MS Sans Serif"
! BEGIN
! DEFPUSHBUTTON "Start",IDC_START,84,202,50,14
! PUSHBUTTON "Close",IDCANCEL,142,202,50,14
! CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER,
! 28,184,218,14
! CTEXT "static",IDC_INFO,7,172,262,8
! EDITTEXT IDC_EDIT1,7,7,262,128,ES_MULTILINE | ES_READONLY |
! WS_VSCROLL | WS_HSCROLL
! CONTROL "Use Python 1.5",IDC_PYTHON15,"Button",
! BS_AUTORADIOBUTTON,7,140,65,10
! EDITTEXT IDC_PATH,42,154,202,14,ES_AUTOHSCROLL
! CONTROL "Use Python 1.6",IDC_PYTHON16,"Button",
! BS_AUTORADIOBUTTON,79,140,65,10
! LTEXT "Directory:",IDC_STATIC,7,157,31,8
! PUSHBUTTON "...",IDC_BROWSE,248,154,21,14
! END
!
!
! /////////////////////////////////////////////////////////////////////////////
! //
! // DESIGNINFO
! //
!
! #ifdef APSTUDIO_INVOKED
! GUIDELINES DESIGNINFO DISCARDABLE
! BEGIN
! IDD_DIALOG1, DIALOG
! BEGIN
! LEFTMARGIN, 7
! RIGHTMARGIN, 269
! TOPMARGIN, 7
! BOTTOMMARGIN, 216
! END
! END
! #endif // APSTUDIO_INVOKED
!
!
! #ifdef APSTUDIO_INVOKED
! /////////////////////////////////////////////////////////////////////////////
! //
! // TEXTINCLUDE
! //
!
! 1 TEXTINCLUDE DISCARDABLE
! BEGIN
! "resource.h\0"
! END
!
! 2 TEXTINCLUDE DISCARDABLE
! BEGIN
! "#include ""afxres.h""\r\n"
! "\0"
! END
!
! 3 TEXTINCLUDE DISCARDABLE
! BEGIN
! "\r\n"
! "\0"
! END
!
! #endif // APSTUDIO_INVOKED
!
! #endif // German (Germany) resources
! /////////////////////////////////////////////////////////////////////////////
!
!
!
! #ifndef APSTUDIO_INVOKED
! /////////////////////////////////////////////////////////////////////////////
! //
! // Generated from the TEXTINCLUDE 3 resource.
! //
!
!
! /////////////////////////////////////////////////////////////////////////////
! #endif // not APSTUDIO_INVOKED
!
--- 1,215 ----
! //Microsoft Developer Studio generated resource script.
! //
! #include "resource.h"
!
! #define APSTUDIO_READONLY_SYMBOLS
! /////////////////////////////////////////////////////////////////////////////
! //
! // Generated from the TEXTINCLUDE 2 resource.
! //
! #include "afxres.h"
!
! /////////////////////////////////////////////////////////////////////////////
! #undef APSTUDIO_READONLY_SYMBOLS
!
! /////////////////////////////////////////////////////////////////////////////
! // Neutral resources
!
! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEU)
! #ifdef _WIN32
! LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
! #pragma code_page(1252)
! #endif //_WIN32
!
! /////////////////////////////////////////////////////////////////////////////
! //
! // Bitmap
! //
!
! IDB_BITMAP BITMAP DISCARDABLE "PythonPowered.bmp"
! #endif // Neutral resources
! /////////////////////////////////////////////////////////////////////////////
!
!
! /////////////////////////////////////////////////////////////////////////////
! // German (Germany) resources
!
! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
! #ifdef _WIN32
! LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
! #pragma code_page(1252)
! #endif //_WIN32
!
! #ifdef APSTUDIO_INVOKED
! /////////////////////////////////////////////////////////////////////////////
! //
! // TEXTINCLUDE
! //
!
! 1 TEXTINCLUDE DISCARDABLE
! BEGIN
! "resource.h\0"
! END
!
! 2 TEXTINCLUDE DISCARDABLE
! BEGIN
! "#include ""afxres.h""\r\n"
! "\0"
! END
!
! 3 TEXTINCLUDE DISCARDABLE
! BEGIN
! "\r\n"
! "\0"
! END
!
! #endif // APSTUDIO_INVOKED
!
! #endif // German (Germany) resources
! /////////////////////////////////////////////////////////////////////////////
!
!
! /////////////////////////////////////////////////////////////////////////////
! // English (U.S.) resources
!
! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
! #ifdef _WIN32
! LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
! #pragma code_page(1252)
! #endif //_WIN32
!
! /////////////////////////////////////////////////////////////////////////////
! //
! // Dialog
! //
!
! IDD_INTRO DIALOGEX 0, 0, 317, 178
! STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
! CAPTION "Setup"
! FONT 8, "MS Sans Serif"
! BEGIN
! LTEXT "This Wizard will install %s on your computer. Click Next to continue or Cancel to exit the Setup Wizard.",
! IDC_TITLE,125,10,179,31,NOT WS_GROUP
! EDITTEXT IDC_INTRO_TEXT,125,41,179,130,ES_MULTILINE | ES_READONLY |
! WS_VSCROLL | WS_HSCROLL
! CONTROL 110,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,6,8,
! 104,163,WS_EX_CLIENTEDGE
! END
!
! IDD_SELECTPYTHON DIALOGEX 0, 0, 317, 178
! STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
! CAPTION "Setup"
! FONT 8, "MS Sans Serif"
! BEGIN
! LTEXT "Select python installation to use:",IDC_TITLE,125,10,
! 179,31,NOT WS_GROUP
! EDITTEXT IDC_PATH,161,157,120,14,ES_AUTOHSCROLL | ES_READONLY
! PUSHBUTTON "...",IDC_BROWSE,284,157,20,14,NOT WS_VISIBLE
! LTEXT "Directory:",IDC_STATIC,125,158,31,8
! LISTBOX IDC_VERSIONS_LIST,125,41,179,100,LBS_SORT |
! LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
! CONTROL 110,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,6,8,
! 104,163,WS_EX_CLIENTEDGE
! END
!
! IDD_INSTALLFILES DIALOGEX 0, 0, 317, 178
! STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
! CAPTION "Setup"
! FONT 8, "MS Sans Serif"
! BEGIN
! LTEXT "Click Next to begin the installation. If you want to review or change any of your installation settings, click Back. Click Cancel to exit the Wizard.",
! IDC_TITLE,125,10,179,31,NOT WS_GROUP
! CONTROL "Progress1",IDC_PROGRESS,"msctls_progress32",WS_BORDER,
! 125,157,179,14
! CTEXT "Installation progress:",IDC_INFO,125,137,179,8
! CONTROL 110,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,6,8,
! 104,163,WS_EX_CLIENTEDGE
! END
!
! IDD_FINISHED DIALOGEX 0, 0, 317, 178
! STYLE WS_CHILD | WS_DISABLED | WS_CAPTION
! CAPTION "Setup"
! FONT 8, "MS Sans Serif"
! BEGIN
! LTEXT "Click the Finish button to exit the Setup wizard.",
! IDC_TITLE,125,10,179,31,NOT WS_GROUP
! CONTROL 110,IDC_STATIC,"Static",SS_BITMAP | SS_CENTERIMAGE,6,8,
! 104,163,WS_EX_CLIENTEDGE
! LTEXT "Installation completed successfully.",IDC_INFO,125,41,
! 179,130
! END
!
!
! /////////////////////////////////////////////////////////////////////////////
! //
! // DESIGNINFO
! //
!
! #ifdef APSTUDIO_INVOKED
! GUIDELINES DESIGNINFO DISCARDABLE
! BEGIN
! IDD_INTRO, DIALOG
! BEGIN
! LEFTMARGIN, 7
! RIGHTMARGIN, 310
! VERTGUIDE, 125
! VERTGUIDE, 304
! TOPMARGIN, 7
! BOTTOMMARGIN, 171
! HORZGUIDE, 8
! HORZGUIDE, 41
! END
!
! IDD_SELECTPYTHON, DIALOG
! BEGIN
! LEFTMARGIN, 7
! RIGHTMARGIN, 310
! VERTGUIDE, 125
! VERTGUIDE, 304
! TOPMARGIN, 7
! BOTTOMMARGIN, 171
! HORZGUIDE, 8
! HORZGUIDE, 41
! END
!
! IDD_INSTALLFILES, DIALOG
! BEGIN
! LEFTMARGIN, 7
! RIGHTMARGIN, 310
! VERTGUIDE, 125
! VERTGUIDE, 304
! TOPMARGIN, 7
! BOTTOMMARGIN, 171
! HORZGUIDE, 8
! HORZGUIDE, 41
! END
!
! IDD_FINISHED, DIALOG
! BEGIN
! LEFTMARGIN, 6
! RIGHTMARGIN, 310
! VERTGUIDE, 125
! VERTGUIDE, 304
! TOPMARGIN, 7
! BOTTOMMARGIN, 171
! HORZGUIDE, 8
! HORZGUIDE, 41
! END
! END
! #endif // APSTUDIO_INVOKED
!
! #endif // English (U.S.) resources
! /////////////////////////////////////////////////////////////////////////////
!
!
!
! #ifndef APSTUDIO_INVOKED
! /////////////////////////////////////////////////////////////////////////////
! //
! // Generated from the TEXTINCLUDE 3 resource.
! //
!
!
! /////////////////////////////////////////////////////////////////////////////
! #endif // not APSTUDIO_INVOKED
!
Index: resource.h
===================================================================
RCS file: /cvsroot/python/distutils/misc/resource.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** resource.h 2000/06/28 02:04:01 1.1
--- resource.h 2000/08/26 02:40:11 1.2
***************
*** 1,24 ****
! //{{NO_DEPENDENCIES}}
! // Microsoft Developer Studio generated include file.
! // Used by install.rc
! //
! #define IDD_DIALOG1 101
! #define IDC_EDIT1 1000
! #define IDC_START 1001
! #define IDC_PROGRESS 1003
! #define IDC_INFO 1004
! #define IDC_PYTHON15 1006
! #define IDC_PATH 1007
! #define IDC_PYTHON16 1008
! #define IDC_BROWSE 1010
!
! // Next default values for new objects
! //
! #ifdef APSTUDIO_INVOKED
! #ifndef APSTUDIO_READONLY_SYMBOLS
! #define _APS_NEXT_RESOURCE_VALUE 102
! #define _APS_NEXT_COMMAND_VALUE 40001
! #define _APS_NEXT_CONTROL_VALUE 1012
! #define _APS_NEXT_SYMED_VALUE 101
! #endif
! #endif
--- 1,34 ----
! //{{NO_DEPENDENCIES}}
! // Microsoft Developer Studio generated include file.
! // Used by install.rc
! //
! #define IDD_DIALOG1 101
! #define IDB_BITMAP1 103
! #define IDD_INTRO 107
! #define IDD_SELECTPYTHON 108
! #define IDD_INSTALLFILES 109
! #define IDD_FINISHED 110
! #define IDB_BITMAP 110
! #define IDC_EDIT1 1000
! #define IDC_TITLE 1000
! #define IDC_START 1001
! #define IDC_PROGRESS 1003
! #define IDC_INFO 1004
! #define IDC_PYTHON15 1006
! #define IDC_PATH 1007
! #define IDC_PYTHON16 1008
! #define IDC_PYTHON20 1009
! #define IDC_BROWSE 1010
! #define IDC_INTRO_TEXT 1021
! #define IDC_VERSIONS_LIST 1022
!
! // Next default values for new objects
! //
! #ifdef APSTUDIO_INVOKED
! #ifndef APSTUDIO_READONLY_SYMBOLS
! #define _APS_NEXT_RESOURCE_VALUE 112
! #define _APS_NEXT_COMMAND_VALUE 40001
! #define _APS_NEXT_CONTROL_VALUE 1024
! #define _APS_NEXT_SYMED_VALUE 101
! #endif
! #endif
Index: wininst.dsp
===================================================================
RCS file: /cvsroot/python/distutils/misc/wininst.dsp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** wininst.dsp 2000/06/28 02:04:01 1.1
--- wininst.dsp 2000/08/26 02:40:11 1.2
***************
*** 1,111 ****
! # Microsoft Developer Studio Project File - Name="wininst" - Package Owner=<4>
! # Microsoft Developer Studio Generated Build File, Format Version 6.00
! # ** DO NOT EDIT **
!
! # TARGTYPE "Win32 (x86) Application" 0x0101
!
! CFG=wininst - Win32 Debug
! !MESSAGE This is not a valid makefile. To build this project using NMAKE,
! !MESSAGE use the Export Makefile command and run
! !MESSAGE
! !MESSAGE NMAKE /f "wininst.mak".
! !MESSAGE
! !MESSAGE You can specify a configuration when running NMAKE
! !MESSAGE by defining the macro CFG on the command line. For example:
! !MESSAGE
! !MESSAGE NMAKE /f "wininst.mak" CFG="wininst - Win32 Debug"
! !MESSAGE
! !MESSAGE Possible choices for configuration are:
! !MESSAGE
! !MESSAGE "wininst - Win32 Release" (based on "Win32 (x86) Application")
! !MESSAGE "wininst - Win32 Debug" (based on "Win32 (x86) Application")
! !MESSAGE
!
! # Begin Project
! # PROP AllowPerConfigDependencies 0
! # PROP Scc_ProjName ""
! # PROP Scc_LocalPath ""
! CPP=cl.exe
! MTL=midl.exe
! RSC=rc.exe
!
! !IF "$(CFG)" == "wininst - Win32 Release"
!
! # PROP BASE Use_MFC 0
! # PROP BASE Use_Debug_Libraries 0
! # PROP BASE Output_Dir "Release"
! # PROP BASE Intermediate_Dir "Release"
! # PROP BASE Target_Dir ""
! # PROP Use_MFC 0
! # PROP Use_Debug_Libraries 0
! # PROP Output_Dir "."
! # PROP Intermediate_Dir "temp-release"
! # PROP Ignore_Export_Lib 0
! # PROP Target_Dir ""
! # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
! # ADD CPP /nologo /MD /W3 /O1 /I "zlib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
! # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
! # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
! # ADD BASE RSC /l 0x407 /d "NDEBUG"
! # ADD RSC /l 0x407 /d "NDEBUG"
! BSC32=bscmake.exe
! # ADD BASE BSC32 /nologo
! # ADD BSC32 /nologo
! LINK32=link.exe
! # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
! # ADD LINK32 ole32.lib zlibstat.lib comctl32.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"LIBC" /libpath:"zlib\static32"
!
! !ELSEIF "$(CFG)" == "wininst - Win32 Debug"
!
! # PROP BASE Use_MFC 0
! # PROP BASE Use_Debug_Libraries 1
! # PROP BASE Output_Dir "Debug"
! # PROP BASE Intermediate_Dir "Debug"
! # PROP BASE Target_Dir ""
! # PROP Use_MFC 0
! # PROP Use_Debug_Libraries 1
! # PROP Output_Dir "."
! # PROP Intermediate_Dir "temp-debug"
! # PROP Ignore_Export_Lib 0
! # PROP Target_Dir ""
! # ADD BASE CPP /nologo /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
! # ADD CPP /nologo /MD /W3 /Z7 /Od /I "zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
! # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
! # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
! # ADD BASE RSC /l 0x407 /d "_DEBUG"
! # ADD RSC /l 0x407 /d "_DEBUG"
! BSC32=bscmake.exe
! # ADD BASE BSC32 /nologo
! # ADD BSC32 /nologo
! LINK32=link.exe
! # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
! # ADD LINK32 ole32.lib zlibstat.lib comctl32.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /pdb:none /debug /machine:I386 /nodefaultlib:"LIBC" /out:"./wininst_d.exe" /libpath:"zlib\static32"
!
! !ENDIF
!
! # Begin Target
!
! # Name "wininst - Win32 Release"
! # Name "wininst - Win32 Debug"
! # Begin Group "Source Files"
!
! # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
! # Begin Source File
!
! SOURCE=.\install.c
! # End Source File
! # Begin Source File
!
! SOURCE=.\install.rc
! # End Source File
! # End Group
! # Begin Group "Header Files"
!
! # PROP Default_Filter "h;hpp;hxx;hm;inl"
! # End Group
! # Begin Group "Resource Files"
!
! # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
! # End Group
! # End Target
! # End Project
--- 1,127 ----
! # Microsoft Developer Studio Project File - Name="wininst" - Package Owner=<4>
! # Microsoft Developer Studio Generated Build File, Format Version 6.00
! # ** DO NOT EDIT **
!
! # TARGTYPE "Win32 (x86) Application" 0x0101
!
! CFG=wininst - Win32 Debug
! !MESSAGE This is not a valid makefile. To build this project using NMAKE,
! !MESSAGE use the Export Makefile command and run
! !MESSAGE
! !MESSAGE NMAKE /f "wininst.mak".
! !MESSAGE
! !MESSAGE You can specify a configuration when running NMAKE
! !MESSAGE by defining the macro CFG on the command line. For example:
! !MESSAGE
! !MESSAGE NMAKE /f "wininst.mak" CFG="wininst - Win32 Debug"
! !MESSAGE
! !MESSAGE Possible choices for configuration are:
! !MESSAGE
! !MESSAGE "wininst - Win32 Release" (based on "Win32 (x86) Application")
! !MESSAGE "wininst - Win32 Debug" (based on "Win32 (x86) Application")
! !MESSAGE
!
! # Begin Project
! # PROP AllowPerConfigDependencies 0
! # PROP Scc_ProjName ""
! # PROP Scc_LocalPath ""
! CPP=cl.exe
! MTL=midl.exe
! RSC=rc.exe
!
! !IF "$(CFG)" == "wininst - Win32 Release"
!
! # PROP BASE Use_MFC 0
! # PROP BASE Use_Debug_Libraries 0
! # PROP BASE Output_Dir "Release"
! # PROP BASE Intermediate_Dir "Release"
! # PROP BASE Target_Dir ""
! # PROP Use_MFC 0
! # PROP Use_Debug_Libraries 0
! # PROP Output_Dir "."
! # PROP Intermediate_Dir "temp-release"
! # PROP Ignore_Export_Lib 0
! # PROP Target_Dir ""
! # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
! # ADD CPP /nologo /MD /W3 /O1 /I "zlib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
! # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
! # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
! # ADD BASE RSC /l 0x407 /d "NDEBUG"
! # ADD RSC /l 0x407 /d "NDEBUG"
! BSC32=bscmake.exe
! # ADD BASE BSC32 /nologo
! # ADD BSC32 /nologo
! LINK32=link.exe
! # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
! # ADD LINK32 ole32.lib zlibstat.lib comctl32.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"LIBC" /libpath:"zlib\static32"
! # Begin Special Build Tool
! SOURCE="$(InputPath)"
! PostBuild_Cmds=c:\util\upx.exe --best wininst.exe
! # End Special Build Tool
!
! !ELSEIF "$(CFG)" == "wininst - Win32 Debug"
!
! # PROP BASE Use_MFC 0
! # PROP BASE Use_Debug_Libraries 1
! # PROP BASE Output_Dir "Debug"
! # PROP BASE Intermediate_Dir "Debug"
! # PROP BASE Target_Dir ""
! # PROP Use_MFC 0
! # PROP Use_Debug_Libraries 1
! # PROP Output_Dir "."
! # PROP Intermediate_Dir "temp-debug"
! # PROP Ignore_Export_Lib 0
! # PROP Target_Dir ""
! # ADD BASE CPP /nologo /W3 /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
! # ADD CPP /nologo /MD /W3 /Z7 /Od /I "zlib" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FR /YX /FD /c
! # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
! # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
! # ADD BASE RSC /l 0x407 /d "_DEBUG"
! # ADD RSC /l 0x407 /d "_DEBUG"
! BSC32=bscmake.exe
! # ADD BASE BSC32 /nologo
! # ADD BSC32 /nologo
! LINK32=link.exe
! # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
! # ADD LINK32 ole32.lib zlibstat.lib comctl32.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /pdb:none /debug /machine:I386 /nodefaultlib:"LIBC" /out:"./wininst_d.exe" /libpath:"zlib\static32"
!
! !ENDIF
!
! # Begin Target
!
! # Name "wininst - Win32 Release"
! # Name "wininst - Win32 Debug"
! # Begin Group "Source Files"
!
! # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
! # Begin Source File
!
! SOURCE=.\extract.c
! # End Source File
! # Begin Source File
!
! SOURCE=.\install.c
! # End Source File
! # Begin Source File
!
! SOURCE=.\install.rc
! # End Source File
! # End Group
! # Begin Group "Header Files"
!
! # PROP Default_Filter "h;hpp;hxx;hm;inl"
! # Begin Source File
!
! SOURCE=.\archive.h
! # End Source File
! # End Group
! # Begin Group "Resource Files"
!
! # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
! # Begin Source File
!
! SOURCE=.\PythonPowered.bmp
! # End Source File
! # End Group
! # End Target
! # End Project
Index: wininst.dsw
===================================================================
RCS file: /cvsroot/python/distutils/misc/wininst.dsw,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** wininst.dsw 2000/06/28 02:04:01 1.1
--- wininst.dsw 2000/08/26 02:40:11 1.2
***************
*** 1,29 ****
! Microsoft Developer Studio Workspace File, Format Version 6.00
! # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
!
! ###############################################################################
!
! Project: "wininst"=.\wininst.dsp - Package Owner=<4>
!
! Package=<5>
! {{{
! }}}
!
! Package=<4>
! {{{
! }}}
!
! ###############################################################################
!
! Global:
!
! Package=<5>
! {{{
! }}}
!
! Package=<3>
! {{{
! }}}
!
! ###############################################################################
!
--- 1,29 ----
! Microsoft Developer Studio Workspace File, Format Version 6.00
! # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
!
! ###############################################################################
!
! Project: "wininst"=.\wininst.dsp - Package Owner=<4>
!
! Package=<5>
! {{{
! }}}
!
! Package=<4>
! {{{
! }}}
!
! ###############################################################################
!
! Global:
!
! Package=<5>
! {{{
! }}}
!
! Package=<3>
! {{{
! }}}
!
! ###############################################################################
!