~ubuntu-branches/ubuntu/precise/kompozer/precise

« back to all changes in this revision

Viewing changes to mozilla/toolkit/mozapps/installer/windows/wizard/setup/setup.h

  • Committer: Bazaar Package Importer
  • Author(s): Anthony Yarusso
  • Date: 2007-08-27 01:11:03 UTC
  • Revision ID: james.westby@ubuntu.com-20070827011103-2jgf4s6532gqu2ka
Tags: upstream-0.7.10
ImportĀ upstreamĀ versionĀ 0.7.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 
2
/*
 
3
 * The contents of this file are subject to the Netscape Public
 
4
 * License Version 1.1 (the "License"); you may not use this file
 
5
 * except in compliance with the License. You may obtain a copy of
 
6
 * the License at http://www.mozilla.org/NPL/
 
7
 *
 
8
 * Software distributed under the License is distributed on an "AS
 
9
 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 
10
 * implied. See the License for the specific language governing
 
11
 * rights and limitations under the License.
 
12
 *
 
13
 * The Original Code is Mozilla Communicator client code,
 
14
 * released March 31, 1998.
 
15
 *
 
16
 * The Initial Developer of the Original Code is Netscape Communications
 
17
 * Corporation.  Portions created by Netscape are
 
18
 * Copyright (C) 1998 Netscape Communications Corporation. All
 
19
 * Rights Reserved.
 
20
 *
 
21
 * Contributor(s): 
 
22
 *     Sean Su <ssu@netscape.com>
 
23
 */
 
24
 
 
25
#ifndef _SETUP_H_
 
26
#define _SETUP_H_
 
27
 
 
28
#ifdef __cplusplus
 
29
#define PR_BEGIN_EXTERN_C       extern "C" {
 
30
#define PR_END_EXTERN_C         }
 
31
#else /* __cplusplus */
 
32
#define PR_BEGIN_EXTERN_C
 
33
#define PR_END_EXTERN_C
 
34
#endif /* __cplusplus */
 
35
 
 
36
#define PR_EXTERN(type) type
 
37
 
 
38
typedef unsigned int PRUint32;
 
39
typedef int PRInt32;
 
40
 
 
41
#include <windows.h>
 
42
#include <string.h>
 
43
#include <stdlib.h>
 
44
#include <stdio.h>
 
45
#include <assert.h>
 
46
#include <direct.h>
 
47
#include <tchar.h>
 
48
#include <commctrl.h>
 
49
#include "setuprsc.h"
 
50
#include "resource.h"
 
51
#include "zipfile.h"
 
52
 
 
53
#define DEFAULT_SETUP_WINDOW_NAME       "Setup"
 
54
/* Class name for the invisible window to be created */
 
55
#define CLASS_NAME_SETUP                "MozillaSetup"
 
56
#define CLASS_NAME_SETUP_DLG            "MozillaSetupDlg"
 
57
#define FILE_INI_SETUP                  "setup.ini"
 
58
#define FILE_INI_CONFIG                 "config.ini"
 
59
#define FILE_INI_INSTALL                "install.ini"
 
60
#define FILE_IDI_GETCONFIGINI           "getconfigini.idi"
 
61
#define FILE_IDI_GETARCHIVES            "getarchives.idi"
 
62
#define FILE_IDI_GETREDIRECT            "getredirect.idi"
 
63
#define FILE_INI_REDIRECT               "redirect.ini"
 
64
#define FILE_WGET_LOG                   "wget.log"
 
65
#define WIZ_TEMP_DIR                    "ns_temp"
 
66
#define FILE_INSTALL_LOG                "install_wizard.log"
 
67
#define FILE_INSTALL_STATUS_LOG         "install_status.log"
 
68
#define FILE_ALL_JS                     "all-proxy.js"
 
69
#define VR_DEFAULT_PRODUCT_NAME         "Mozilla"
 
70
 
 
71
#define FORCE_ADD_TO_UNINSTALL_LOG        TRUE
 
72
#define DO_NOT_FORCE_ADD_TO_UNINSTALL_LOG FALSE
 
73
 
 
74
/* defines that indicate whether something should
 
75
 * be logged to the install_wizardX.log or not
 
76
 * for uninstallation purposes.
 
77
 */
 
78
#define ADD_TO_UNINSTALL_LOG            TRUE
 
79
#define DO_NOT_ADD_TO_UNINSTALL_LOG     FALSE
 
80
 
 
81
/* defines that indeicate whether an install command
 
82
 * should have '*dnu*' prepended.  '*dnu*' is parsed
 
83
 * by the uninstaller and signals that the specific
 
84
 * install command should _not_ be undone.
 
85
 */
 
86
#define DNU_UNINSTALL                   FALSE
 
87
#define DNU_DO_NOT_UNINSTALL            TRUE
 
88
 
 
89
#define WINREG_OVERWRITE_KEY            TRUE
 
90
#define WINREG_DO_NOT_OVERWRITE_KEY     FALSE
 
91
#define WINREG_OVERWRITE_NAME           TRUE
 
92
#define WINREG_DO_NOT_OVERWRITE_NAME    FALSE
 
93
 
 
94
#define INCLUDE_INVISIBLE_OBJS          TRUE
 
95
#define SKIP_INVISIBLE_OBJS             FALSE
 
96
 
 
97
#define NO_BANNER_IMAGE                 0x00000000
 
98
#define BANNER_IMAGE_DOWNLOAD           0x00000001
 
99
#define BANNER_IMAGE_INSTALLING         0x00000002
 
100
 
 
101
#define APPPATH_GRE_PATH_SET            0x00000000
 
102
#define APPPATH_GRE_PATH_NOT_SET        0x00000001
 
103
#define APPPATH_GRE_PATH_ALREADY_SET    0x00000002
 
104
 
 
105
#define NEXT_DLG                        1
 
106
#define PREV_DLG                        2
 
107
#define OTHER_DLG_1                     3
 
108
 
 
109
#define MAX_CRC_FAILED_DOWNLOAD_RETRIES 5
 
110
#define MAX_FILE_DOWNLOAD_RETRIES       10
 
111
 
 
112
#define STATUS_DISABLED                 0
 
113
#define STATUS_ENABLED                  1
 
114
 
 
115
#define GRE_SETUP_DIR_NAME              "Setup GRE"
 
116
 
 
117
/* filename which contains this product setup's exit status */
 
118
#define SETUP_EXIT_STATUS_LOG           "%s Setup Exit Status.log"
 
119
 
 
120
/* LOCAL GRE defines */
 
121
#define GRE_TYPE_NOT_SET                -1
 
122
#define GRE_SHARED                      0
 
123
#define GRE_LOCAL                       1
 
124
 
 
125
/* WS: WinSpawn wait values */
 
126
#define WS_DO_NOT_WAIT                  FALSE
 
127
#define WS_WAIT                         TRUE
 
128
 
 
129
#define MAX_KILL_PROCESS_RETRIES        10
 
130
 
 
131
/* CI: Check Instance */
 
132
#define CI_FORCE_QUIT_PROCESS           TRUE
 
133
#define CI_CLOSE_PROCESS                FALSE
 
134
 
 
135
#define BAR_MARGIN                      1
 
136
#define BAR_SPACING                     0
 
137
#define BAR_WIDTH                       6
 
138
#define BAR_LIBXPNET_MARGIN             1
 
139
#define BAR_LIBXPNET_SPACING            0
 
140
#define BAR_LIBXPNET_WIDTH              1
 
141
 
 
142
/* W: When for install status logging */
 
143
#define W_START                         0
 
144
#define W_END                           1
 
145
 
 
146
/* W: When for crc check failed logging */
 
147
#define W_STARTUP                       0
 
148
#define W_DOWNLOAD                      1
 
149
 
 
150
/* UP: Use Protocol */
 
151
#define UP_FTP                          0
 
152
#define UP_HTTP                         1
 
153
 
 
154
/* RA: Restricted Access */
 
155
#define RA_IGNORE                       0
 
156
#define RA_ONLY_RESTRICTED              1
 
157
#define RA_ONLY_NONRESTRICTED           2
 
158
 
 
159
/* LIS: Log Install Status */
 
160
#define LIS_SUCCESS                     0
 
161
#define LIS_FAILURE                     1
 
162
 
 
163
/* UG: Upgrade */
 
164
#define UG_NONE                         0
 
165
#define UG_DELETE                       1
 
166
#define UG_IGNORE                       2
 
167
#define UG_GOBACK                       3
 
168
 
 
169
/* AP: Archive Path */
 
170
#define AP_NOT_FOUND                    0
 
171
#define AP_TEMP_PATH                    1
 
172
#define AP_SETUP_PATH                   2
 
173
#define AP_ALTERNATE_PATH               3
 
174
 
 
175
/* PP: Parse Path */
 
176
#define PP_FILENAME_ONLY                1
 
177
#define PP_PATH_ONLY                    2
 
178
#define PP_ROOT_ONLY                    3
 
179
#define PP_EXTENSION_ONLY               4
 
180
 
 
181
/* DA: Delete Archive */
 
182
#define DA_ONLY_IF_IN_ARCHIVES_LST      1
 
183
#define DA_ONLY_IF_NOT_IN_ARCHIVES_LST  2
 
184
#define DA_IGNORE_ARCHIVES_LST          3
 
185
 
 
186
/* T: Timing */
 
187
#define T_PRE_DOWNLOAD                  1
 
188
#define T_POST_DOWNLOAD                 2
 
189
#define T_PRE_XPCOM                     3
 
190
#define T_POST_XPCOM                    4
 
191
#define T_PRE_SMARTUPDATE               5
 
192
#define T_POST_SMARTUPDATE              6
 
193
#define T_PRE_LAUNCHAPP                 7
 
194
#define T_POST_LAUNCHAPP                8
 
195
#define T_DEPEND_REBOOT                 9
 
196
#define T_PRE_ARCHIVE                   10
 
197
#define T_POST_ARCHIVE                  11
 
198
 
 
199
#define MAX_BUF                         2048
 
200
#define MAX_BUF_TINY                    256
 
201
#define MAX_BUF_SMALL                   512
 
202
#define MAX_BUF_MEDIUM                  1024
 
203
#define MAX_BUF_LARGE                   MAX_BUF
 
204
#define MAX_BUF_XLARGE                  4096
 
205
#define MAX_ITOA                        46
 
206
#define MAX_INI_SK                      128
 
207
 
 
208
#define ERROR_CODE_HIDE                 0
 
209
#define ERROR_CODE_SHOW                 1
 
210
#define DLG_NONE                        0
 
211
#define DLG_COMMIT_INSTALL              1
 
212
#define CX_CHECKBOX                     13
 
213
#define CY_CHECKBOX                     13
 
214
 
 
215
/* WIZ: WIZARD defines */
 
216
#define WIZ_OK                          0
 
217
#define WIZ_ERROR_UNDEFINED             1024
 
218
#define WIZ_MEMORY_ALLOC_FAILED         1025
 
219
#define WIZ_OUT_OF_MEMORY               WIZ_MEMORY_ALLOC_FAILED
 
220
#define WIZ_ARCHIVES_MISSING            1026
 
221
#define WIZ_CRC_PASS                    WIZ_OK
 
222
#define WIZ_CRC_FAIL                    1028
 
223
#define WIZ_SETUP_ALREADY_RUNNING       1029
 
224
#define WIZ_TOO_MANY_NETWORK_ERRORS     1030
 
225
#define WIZ_ERROR_PARSING_INTERNAL_STR  1031
 
226
#define WIZ_ERROR_REGKEY                1032
 
227
#define WIZ_ERROR_INIT                  1033
 
228
#define WIZ_ERROR_LOADING_RESOURCE_LIB  1034
 
229
#define WIZ_ERROR_CREATE_DIRECTORY      1035
 
230
 
 
231
/* E: Errors */
 
232
#define E_REBOOT                        999
 
233
 
 
234
/* FO: File Operation */
 
235
#define FO_OK                           0
 
236
#define FO_SUCCESS                      0
 
237
#define FO_ERROR_FILE_NOT_FOUND         1
 
238
#define FO_ERROR_DESTINATION_CONFLICT   2
 
239
#define FO_ERROR_CHANGE_DIR             3
 
240
#define FO_ERROR_WRITE                  4
 
241
#define FO_ERROR_INCR_EXCEEDS_LIMIT     5
 
242
 
 
243
/* Mode of Setup to run in */
 
244
#define NOT_SET                         -1
 
245
#define NORMAL                          0
 
246
#define SILENT                          1
 
247
#define AUTO                            2
 
248
 
 
249
/* ST: Setup Type */
 
250
#define ST_RADIO0                       0
 
251
#define ST_RADIO1                       1
 
252
#define ST_RADIO2                       2
 
253
#define ST_RADIO3                       3
 
254
 
 
255
/* SM: Setup Type Mode */
 
256
#define SM_SINGLE                       0
 
257
#define SM_MULTI                        1
 
258
 
 
259
/* SIC: Setup Info Component*/
 
260
#define SIC_SELECTED                    0x00000001
 
261
#define SIC_INVISIBLE                   0x00000002
 
262
#define SIC_LAUNCHAPP                   0x00000004
 
263
#define SIC_DOWNLOAD_REQUIRED           0x00000008
 
264
#define SIC_DOWNLOAD_ONLY               0x00000010
 
265
#define SIC_ADDITIONAL                  0x00000020
 
266
#define SIC_DISABLED                    0x00000040
 
267
#define SIC_FORCE_UPGRADE               0x00000080
 
268
#define SIC_IGNORE_DOWNLOAD_ERROR       0x00000100
 
269
#define SIC_IGNORE_XPINSTALL_ERROR      0x00000200
 
270
#define SIC_UNCOMPRESS                  0x00000400
 
271
#define SIC_SUPERSEDE                   0x00000800
 
272
#define SIC_MAIN_COMPONENT              0x00001000
 
273
 
 
274
/* AC: Additional Components */
 
275
#define AC_NONE                         0
 
276
#define AC_COMPONENTS                   1
 
277
#define AC_ADDITIONAL_COMPONENTS        2
 
278
#define AC_ALL                          3
 
279
 
 
280
/* OS: Operating System */
 
281
#define OS_WIN9x                        0x00000001
 
282
#define OS_WIN95_DEBUTE                 0x00000002
 
283
#define OS_WIN95                        0x00000004
 
284
#define OS_WIN98                        0x00000008
 
285
#define OS_NT                           0x00000010
 
286
#define OS_NT3                          0x00000020
 
287
#define OS_NT4                          0x00000040
 
288
#define OS_NT5                          0x00000080
 
289
#define OS_NT50                         0x00000100
 
290
#define OS_NT51                         0x00000200
 
291
 
 
292
/* DSR: Disk Space Required */
 
293
#define DSR_DESTINATION                 0
 
294
#define DSR_SYSTEM                      1
 
295
#define DSR_TEMP                        2
 
296
#define DSR_DOWNLOAD_SIZE               3
 
297
 
 
298
/* SS: Site Selector */
 
299
#define SS_HIDE                         0
 
300
#define SS_SHOW                         1
 
301
 
 
302
/* PUS: Previous Unfinished State */
 
303
#define PUS_NONE                         0
 
304
#define PUS_DOWNLOAD                     1
 
305
#define PUS_UNPACK_XPCOM                 2
 
306
#define PUS_INSTALL_XPI                  3
 
307
#define SETUP_STATE_DOWNLOAD             "downloading"
 
308
#define SETUP_STATE_UNPACK_XPCOM         "unpacking xpcom"
 
309
#define SETUP_STATE_INSTALL_XPI          "installing xpi"
 
310
#define SETUP_STATE_REMOVING_PREV_INST   "removing previous installation"
 
311
 
 
312
 
 
313
typedef struct dlgSetup
 
314
{
 
315
  DWORD   dwDlgID;
 
316
  WNDPROC fDlgProc;
 
317
  LPSTR   szTitle;
 
318
} diS;
 
319
 
 
320
typedef struct dlgWelcome
 
321
{
 
322
  BOOL  bShowDialog;
 
323
  LPSTR szTitle;
 
324
  LPSTR szMessageWelcome;
 
325
  LPSTR szMessage0;
 
326
  LPSTR szMessage1;
 
327
  LPSTR szMessage2;
 
328
  LPSTR szMessage3;
 
329
} diW;
 
330
 
 
331
typedef struct dlgLicense
 
332
{
 
333
  BOOL  bShowDialog;
 
334
  LPSTR szTitle;
 
335
  LPSTR szSubTitle;
 
336
  LPSTR szLicenseFilename;
 
337
  LPSTR szMessage0;
 
338
  LPSTR szRadioAccept;
 
339
  LPSTR szRadioDecline;
 
340
} diL;
 
341
 
 
342
typedef struct dlgQuickLaunch
 
343
{
 
344
  BOOL  bShowDialog;
 
345
  LPSTR szTitle;
 
346
  LPSTR szMessage0;
 
347
  LPSTR szMessage1;
 
348
  LPSTR szMessage2;
 
349
  BOOL  bTurboMode;
 
350
  BOOL  bTurboModeEnabled;
 
351
} diQL;
 
352
 
 
353
 
 
354
typedef struct stStruct
 
355
{
 
356
  BOOL  bVisible;
 
357
  DWORD dwCItems;
 
358
  DWORD dwCItemsSelected[MAX_BUF]; /* components */
 
359
  LPSTR szDescriptionShort;
 
360
  LPSTR szDescriptionLong;
 
361
} st;
 
362
 
 
363
typedef struct dlgSetupType
 
364
{
 
365
  BOOL  bShowDialog;
 
366
  LPSTR szTitle;
 
367
  LPSTR szSubTitle;
 
368
  LPSTR szMessage0;
 
369
  st    stSetupType0;
 
370
  st    stSetupType1;
 
371
} diST;
 
372
 
 
373
typedef struct dlgSelectComponents
 
374
{
 
375
  BOOL  bShowDialog;
 
376
  DWORD bShowDialogSM;
 
377
  LPSTR szTitle;
 
378
  LPSTR szSubTitle;
 
379
  LPSTR szMessage0;
 
380
} diSC;
 
381
 
 
382
typedef struct dlgSelectInstallPath
 
383
{
 
384
  BOOL bShowDialog;
 
385
  LPSTR szTitle;
 
386
  LPSTR szSubTitle;
 
387
  LPSTR szMessage0;
 
388
} diSIP;
 
389
 
 
390
typedef struct dlgUpgrade
 
391
{
 
392
  BOOL bShowDialog;
 
393
  BOOL bShowInEasyInstall;
 
394
  LPSTR szTitle;
 
395
  LPSTR szSubTitle;
 
396
  LPSTR szMessageCleanup;
 
397
  LPSTR szCheckboxSafeInstall;
 
398
  LPSTR szSafeInstallInfo;
 
399
  LPSTR szUnsafeInstallInfo;
 
400
  LPSTR szNoSafeUpgradeWindir;
 
401
} diU;
 
402
 
 
403
typedef struct wiCBstruct
 
404
{
 
405
  BOOL  bEnabled;
 
406
  BOOL  bCheckBoxState;
 
407
  LPSTR szDescription;
 
408
  LPSTR szArchive;
 
409
} wiCBs;
 
410
 
 
411
typedef struct dlgWindowsIntegration
 
412
{
 
413
  BOOL  bShowDialog;
 
414
  LPSTR szTitle;
 
415
  LPSTR szSubTitle;
 
416
  LPSTR szMessage0;
 
417
  LPSTR szRegistryKey;
 
418
  wiCBs wiCB0;
 
419
  wiCBs wiCB1;
 
420
  wiCBs wiCB2;
 
421
} diWI;
 
422
 
 
423
typedef struct dlgProgramFolder
 
424
{
 
425
  BOOL  bShowDialog;
 
426
  LPSTR szTitle;
 
427
  LPSTR szMessage0;
 
428
} diPF;
 
429
 
 
430
typedef struct dlgAdditionalOptions
 
431
{
 
432
  BOOL  bShowDialog;
 
433
  LPSTR szTitle;
 
434
  LPSTR szMessage0;
 
435
  LPSTR szMessage1;
 
436
  BOOL  bSaveInstaller;
 
437
  BOOL  bRecaptureHomepage;
 
438
  BOOL  bShowHomepageOption;
 
439
  DWORD dwUseProtocol;
 
440
  BOOL  bUseProtocolSettings;
 
441
  BOOL  bShowProtocols;
 
442
} diDO;
 
443
 
 
444
typedef struct dlgAdvancedSettings
 
445
{
 
446
  BOOL  bShowDialog;
 
447
  LPSTR szTitle;
 
448
  LPSTR szMessage0;
 
449
  LPSTR szProxyServer;
 
450
  LPSTR szProxyPort;
 
451
  LPSTR szProxyUser;
 
452
  LPSTR szProxyPasswd;
 
453
} diAS;
 
454
 
 
455
typedef struct dlgStartInstall
 
456
{
 
457
  BOOL  bShowDialog;
 
458
  LPSTR szTitle;
 
459
  LPSTR szSubTitle;
 
460
  LPSTR szMessageInstall;
 
461
  LPSTR szMessageDownload;
 
462
  LPSTR szMessage0;
 
463
} diSI;
 
464
 
 
465
typedef struct dlgDownloading
 
466
{
 
467
  BOOL  bShowDialog;
 
468
  LPSTR szTitle;
 
469
  LPSTR szSubTitle;
 
470
  LPSTR szBlurb;
 
471
  LPSTR szFileNameKey;
 
472
  LPSTR szTimeRemainingKey;
 
473
} diDL;
 
474
 
 
475
typedef struct dlgInstalling
 
476
{
 
477
  BOOL bShowDialog;
 
478
  LPSTR szTitle;
 
479
  LPSTR szSubTitle;
 
480
  LPSTR szBlurb;
 
481
  LPSTR szStatusFile;
 
482
  LPSTR szStatusComponent;
 
483
} diI;
 
484
 
 
485
typedef struct dlgInstallSuccessful
 
486
{
 
487
  BOOL bShowDialog;
 
488
  LPSTR szTitle;
 
489
  LPSTR szMessageHeader;
 
490
  LPSTR szMessage0;
 
491
  LPSTR szMessage1;
 
492
  LPSTR szResetHomepage;
 
493
  LPSTR szRegistryKey;
 
494
  LPSTR szLaunchApp;
 
495
  BOOL bResetHomepageChecked;
 
496
  BOOL bLaunchAppChecked;
 
497
} diIS;
 
498
 
 
499
typedef struct dlgDownload
 
500
{
 
501
  BOOL  bShowDialog;
 
502
  LPSTR szTitle;
 
503
  LPSTR szMessageDownload0;
 
504
  LPSTR szMessageRetry0;
 
505
} diD;
 
506
 
 
507
typedef struct dlgReboot
 
508
{
 
509
  DWORD dwShowDialog;
 
510
  LPSTR szTitle;
 
511
} diR;
 
512
 
 
513
typedef struct setupStruct
 
514
{
 
515
  int       mode;
 
516
  int       greType;
 
517
  DWORD     dwCustomType;
 
518
  DWORD     dwNumberOfComponents;
 
519
  LPSTR     szPath;
 
520
  LPSTR     szSubPath;
 
521
  LPSTR     szProgramName;
 
522
  LPSTR     szCompanyName;
 
523
  LPSTR     szProductName;
 
524
  LPSTR     szProductNameInternal;
 
525
  LPSTR     szProductNamePrevious;
 
526
  LPSTR     szUninstallFilename;
 
527
  LPSTR     szUserAgent;
 
528
  LPSTR     szProgramFolderName;
 
529
  LPSTR     szProgramFolderPath;
 
530
  LPSTR     szAlternateArchiveSearchPath;
 
531
  LPSTR     szParentProcessFilename;
 
532
  BOOL      bLockPath;
 
533
  BOOL      bSharedInst;
 
534
  BOOL      bInstallFiles;
 
535
  BOOL      checkCleanupOnUpgrade;
 
536
  BOOL      doCleanupOnUpgrade;
 
537
  LPSTR     szAppID;
 
538
  LPSTR     szAppPath;
 
539
  LPSTR     szRegPath;
 
540
  BOOL      greCleanupOrphans;
 
541
  char      greCleanupOrphansMessage[MAX_BUF];
 
542
  char      greID[MAX_BUF];
 
543
  char      grePrivateKey[MAX_BUF];
 
544
} setupGen;
 
545
 
 
546
typedef struct sinfoSmartDownload
 
547
{
 
548
  LPSTR szXpcomFile;
 
549
  LPSTR szXpcomDir;
 
550
  LPSTR szNoAds;
 
551
  LPSTR szSilent;
 
552
  LPSTR szExecution;
 
553
  LPSTR szConfirmInstall;
 
554
  LPSTR szExtractMsg;
 
555
  LPSTR szExe;
 
556
  LPSTR szExeParam;
 
557
  LPSTR szXpcomFilePath;
 
558
} siSD;
 
559
 
 
560
typedef struct sinfoXpcomFile
 
561
{
 
562
  LPSTR       szSource;
 
563
  LPSTR       szDestination;
 
564
  LPSTR       szMessage;
 
565
  BOOL        bCleanup;
 
566
  BOOL        bStatus;
 
567
  ULONGLONG   ullInstallSize;
 
568
} siCF;
 
569
 
 
570
typedef struct sinfoComponentDep siCD;
 
571
struct sinfoComponentDep
 
572
{
 
573
  LPSTR szDescriptionShort;
 
574
  LPSTR szReferenceName;
 
575
  siCD  *Next;
 
576
  siCD  *Prev;
 
577
};
 
578
 
 
579
typedef struct sinfoComponent siC;
 
580
struct sinfoComponent
 
581
{
 
582
  ULONGLONG       ullInstallSize;
 
583
  ULONGLONG       ullInstallSizeSystem;
 
584
  ULONGLONG       ullInstallSizeArchive;
 
585
  long            lRandomInstallPercentage;
 
586
  long            lRandomInstallValue;
 
587
  DWORD           dwAttributes;
 
588
  LPSTR           szArchiveName;
 
589
  LPSTR           szArchiveNameUncompressed;
 
590
  LPSTR           szArchivePath;
 
591
  LPSTR           szDestinationPath;
 
592
  LPSTR           szDescriptionShort;
 
593
  LPSTR           szDescriptionLong;
 
594
  LPSTR           szParameter;
 
595
  LPSTR           szReferenceName;
 
596
  BOOL            bForceUpgrade;
 
597
  BOOL            bSupersede;
 
598
  int             iNetRetries;
 
599
  int             iCRCRetries;
 
600
  int             iNetTimeOuts;
 
601
  int             iFileCount;
 
602
  siCD            *siCDDependencies;
 
603
  siCD            *siCDDependees;
 
604
  siC             *Next;
 
605
  siC             *Prev;
 
606
};
 
607
 
 
608
typedef struct ssInfo ssi;
 
609
struct ssInfo
 
610
{
 
611
  LPSTR szDescription;
 
612
  LPSTR szDomain;
 
613
  LPSTR szIdentifier;
 
614
  ssi   *Next;
 
615
  ssi   *Prev;
 
616
};
 
617
 
 
618
typedef struct dlgInstall
 
619
{
 
620
        HFONT systemFont;
 
621
        HFONT definedFont;
 
622
  HFONT welcomeTitleFont;
 
623
  char szFontName[MAX_BUF];
 
624
  char szFontSize[MAX_BUF];
 
625
  char szCharSet[MAX_BUF];
 
626
  char szOk_[MAX_BUF];
 
627
  char szOk[MAX_BUF];
 
628
  char szCancel_[MAX_BUF];
 
629
  char szCancel[MAX_BUF];
 
630
  char szNext_[MAX_BUF];
 
631
  char szBack_[MAX_BUF];
 
632
  char szIgnore_[MAX_BUF];
 
633
  char szProxyMessage[MAX_BUF];
 
634
  char szProxyButton[MAX_BUF];
 
635
  char szProxySettings_[MAX_BUF];
 
636
  char szProxySettings[MAX_BUF];
 
637
  char szServer[MAX_BUF];
 
638
  char szPort[MAX_BUF];
 
639
  char szUserId[MAX_BUF];
 
640
  char szPassword[MAX_BUF];
 
641
  char szSelectDirectory[MAX_BUF];
 
642
  char szDirectories_[MAX_BUF];
 
643
  char szDrives_[MAX_BUF];
 
644
  char szStatus[MAX_BUF];
 
645
  char szFile[MAX_BUF];
 
646
  char szUrl[MAX_BUF];
 
647
  char szTo[MAX_BUF];
 
648
  char szAccept_[MAX_BUF];
 
649
  char szDecline_[MAX_BUF];
 
650
  char szProgramFolder_[MAX_BUF];
 
651
  char szExistingFolder_[MAX_BUF];
 
652
  char szSetupMessage[MAX_BUF];
 
653
  char szRestart[MAX_BUF];
 
654
  char szYesRestart[MAX_BUF];
 
655
  char szNoRestart[MAX_BUF];
 
656
  char szAdditionalComponents_[MAX_BUF];
 
657
  char szDescription[MAX_BUF];
 
658
  char szTotalDownloadSize[MAX_BUF];
 
659
  char szSpaceAvailable[MAX_BUF];
 
660
  char szComponents_[MAX_BUF];
 
661
  char szBrowseInfo[MAX_BUF];
 
662
  char szDestinationDirectory[MAX_BUF];
 
663
  char szBrowse_[MAX_BUF];
 
664
  char szDownloadSize[MAX_BUF];
 
665
  char szCurrentSettings[MAX_BUF];
 
666
  char szInstallFolder[MAX_BUF];
 
667
  char szPrimCompNoOthers[MAX_BUF];
 
668
  char szPrimCompOthers[MAX_BUF];
 
669
  char szAddtlCompWrapper[MAX_BUF];
 
670
  char szInstall_[MAX_BUF];
 
671
  char szDelete_[MAX_BUF];
 
672
  char szContinue_[MAX_BUF];
 
673
  char szSkip_[MAX_BUF];
 
674
  char szExtracting[MAX_BUF];
 
675
  char szReadme_[MAX_BUF];
 
676
  char szPause_[MAX_BUF];
 
677
  char szResume_[MAX_BUF];
 
678
  char szChecked[MAX_BUF];
 
679
  char szUnchecked[MAX_BUF];
 
680
} installGui;
 
681
 
 
682
/* structure message stream */
 
683
typedef struct sEMsgStream sems;
 
684
struct sEMsgStream
 
685
{
 
686
  char   szURL[MAX_BUF];
 
687
  char   szConfirmationMessage[MAX_BUF];
 
688
  char   *szMessage;
 
689
  DWORD  dwMessageBufSize;
 
690
  BOOL   bEnabled;
 
691
  BOOL   bSendMessage;
 
692
  BOOL   bShowConfirmation;
 
693
};
 
694
 
 
695
/* structure system info*/
 
696
typedef struct sSysInfo sysinfo;
 
697
struct sSysInfo
 
698
{
 
699
  DWORD dwOSType;
 
700
  DWORD dwMajorVersion;
 
701
  DWORD dwMinorVersion;
 
702
  DWORD dwBuildNumber;
 
703
  char  szExtraString[MAX_BUF];
 
704
  DWORD dwMemoryTotalPhysical;
 
705
  DWORD dwMemoryAvailablePhysical;
 
706
  DWORD dwScreenX;
 
707
  DWORD dwScreenY;
 
708
  DWORD lastWindowPosCenterX;
 
709
  DWORD lastWindowPosCenterY;
 
710
  BOOL  bScreenReader;
 
711
  BOOL  bRefreshIcons;
 
712
};
 
713
 
 
714
typedef struct diskSpaceNode dsN;
 
715
struct diskSpaceNode
 
716
{
 
717
  ULONGLONG       ullSpaceRequired;
 
718
  LPSTR           szPath;
 
719
  LPSTR           szVDSPath;
 
720
  dsN             *Next;
 
721
  dsN             *Prev;
 
722
};
 
723
 
 
724
#endif /* _SETUP_H */
 
725