1.3 updates

This commit is contained in:
tengel 2024-03-20 09:28:18 -05:00
parent f2ca731e3d
commit b20d807157
16 changed files with 974 additions and 0 deletions

View file

@ -0,0 +1,38 @@
[Info]
Name=
Type=CompDef
Version=1.00.000
[Program Files]
DESCRIPTION=
STATUS=Copying program files...
VISIBLE=Yes
DISK=ANYDISK
INSTALLATION=SAMEORNEWERVERSION
TARGET=<TARGETDIR>
TARGETHIDDEN=General Application Destination
FILENEED=CRITICAL
INCLUDEINBUILD=Yes
PASSWORD=
ENCRYPT=No
COMPRESSIFSEPARATE=No
UNINSTALLABLE=Yes
COMMENT=
DEFSELECTION=Yes
SELECTED=Yes
IMAGE=
TARGETDIRCDROM=
DISPLAYTEXT=
HTTPLOCATION=
FTPLOCATION=
MISC=
filegroup0=Program Executable Files
[Components]
component0=Program Files
[TopComponents]
component0=Program Files
[SetupType]
setuptype0=Typical
[SetupTypeItem-Typical]
Comment=
Descrip=
item0=Program Files

View file

@ -0,0 +1,44 @@
[<PROGRAMFILES>\<COMMONFILES>]
DISPLAYTEXT=Common Files Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>\<WINSYSDIR>]
DISPLAYTEXT=Windows System Folder
TYPE=TEXTSUBFIXED
fulldirectory=
[USERDEFINED]
DISPLAYTEXT=Script Defined Folders
TYPE=USERSTART
fulldirectory=
[<DESKTOP>]
DISPLAYTEXT=Desktop
TYPE=TEXTSUBFIXED
fulldirectory=
[<PROGRAMFILES>]
DISPLAYTEXT=Program Files Folder
SubDir0=<PROGRAMFILES>\<COMMONFILES>
SubDir1=<PROGRAMFILES>\<ACCESSORIES>
TYPE=TEXTSUBFIXED
fulldirectory=
[<TARGETDIR>]
DISPLAYTEXT=General Application Destination
TYPE=TEXTSUBFIXED
fulldirectory=
[<WINDIR>]
DISPLAYTEXT=Windows Operating System
SubDir0=<WINDIR>\<WINSYSDIR>
TYPE=TEXTSUBFIXED
fulldirectory=
[TopDir]
SubDir0=<WINDIR>
SubDir1=<PROGRAMFILES>
SubDir2=<DESKTOP>
SubDir3=<TARGETDIR>
SubDir4=USERDEFINED
[General]
Type=FILELIST
Version=1.00.000
[<PROGRAMFILES>\<ACCESSORIES>]
DISPLAYTEXT=Accessories
TYPE=TEXTSUBFIXED
fulldirectory=

48
Install/ContactBook.ipr Normal file
View file

@ -0,0 +1,48 @@
[Language]
LanguageSupport0=0009
[OperatingSystem]
OSSupport=0000000000010010
[Data]
CurrentMedia=New Media
CurrentComponentDef=Default.cdf
ProductName=ContactBook
set_mifserial=
DevEnvironment=Microsoft Visual C++ 5.0
AppExe=D:\Code\Cb32\Install\CB32.exe
set_dlldebug=No
EmailAddresss=tengel@sonic.net
Instructions=Instructions.txt
set_testmode=No
set_mif=No
SummaryText=
Department=
HomeURL=http://www.sonic.net/~tengel/ContactBook
Author=Troy Engel
Type=Database Application
InstallRoot=C:\My Installations\ContactBook
Version=1.2
InstallationGUID=44ae29c0-80e5-11d1-afc0-000000000000
CurrentFileGroupDef=Default.fdf
Notes=Notes.txt
set_maxerr=50
set_args=
set_miffile=Status.mif
set_dllcmdline=
Copyright=1997
set_warnaserr=No
CurrentPlatform=
Category=Personnel
set_preproc=
CurrentLanguage=English
CompanyName=LCNSoft
Description=Description.txt
set_maxwarn=50
set_crc=Yes
[MediaInfo]
mediadata0=Default/Media\Default
[General]
PassData=
ReadOnly=N
Type=INSTALLMAIN
Version=1.00.000
PassOn=N

0
Install/Description.txt Normal file
View file

View file

@ -0,0 +1,19 @@
[Info]
Name=
Type=FileGrp
Version=1.00.000
[Program Executable Files]
INFOTYPE=Standard
FILETYPE=Application
SELFREGISTERING=No
POTENTIALLY=No
COMPRESS=Yes
OPERATINGSYSTEM=
LANGUAGE=
COMMENT=
COMPRESSDLL=
HTTPLOCATION=
FTPLOCATION=
MISC=
[FileGroups]
group0=Program Executable Files

View file

@ -0,0 +1,7 @@
[TopDir]
file0=D:\Code\Cb32\Install\Readme.txt
file1=D:\Code\Cb32\Install\Cb32.hlp
file2=D:\Code\Cb32\Install\CB32.exe
[General]
Type=FILELIST
Version=1.00.000

0
Install/Instructions.txt Normal file
View file

View file

@ -0,0 +1,41 @@
[GeneralInfo]
BuildLocation=
Name=Default
MEDIATYPE=CDROM
BUILDSIZE=
BUILDTYPE=Quick
BREAKBYTOPCOMPONENT=No
REVIEWREPORT=No
DATAASFILES=No
PASSWORD=
REFRESH_IFILES=Yes
REFRESH_SPLASH=Yes
REFRESH_DATAFILES=Yes
[TagFileInfo]
APPLICATIONNAME=ContactBook
VERSION=1.2
INFO=
COMPANYNAME=
PRODUCTCATEGORY=
[InstallDateInfo]
TYPE=BUILDTIME
DATE=
TIME=
[FileInstallDateInfo]
TYPE=ORIGINAL
DATE=
TIME=
[Filter]
LANGUAGEDEFAULT=
[SetupInfo]
HIDESTATUSBAR=No
WIN32SENABLE=No
APPLICATIONNAME=
ALTERNATEISDELETENAME=
[Languages]
count=1
key0=0009
[Platforms]
count=2
key0=0000000000000010
key1=0000000000010000

0
Install/Notes.txt Normal file
View file

View file

@ -0,0 +1,540 @@
////////////////////////////////////////////////////////////////////////////////
// //
// IIIIIII SSSSSS //
// II SS InstallShield (R) //
// II SSSSSS (c) 1996-1997, InstallShield Software Corporation //
// II SS (c) 1990-1996, InstallShield Corporation //
// IIIIIII SSSSSS All Rights Reserved. //
// //
// //
// This code is generated as a starting installation template. You should //
// modify it to provide all necessary steps for your installation. //
// //
// //
// File Name: setup.rul //
// //
// Description: InstallShield Script //
// //
// Comments: This template script performs a basic installation to a //
// Windows 95 or Windows NT platform. With minor modifications,//
// this template can be adapted to create new, customized //
// installations. //
// //
// //
////////////////////////////////////////////////////////////////////////////////
// Include header file
#include "sddialog.h"
//////////////////// string defines ///////////////////
#define UNINST_LOGFILE_NAME "cb12unin.isu"
//////////////////// installation declarations ///////////////////
// ----- DLL prototypes -----
// generated
// your DLL prototypes
// ---- script prototypes -----
// generated
prototype ShowDialogs();
prototype MoveFileData();
prototype HandleMoveDataError( NUMBER );
prototype ProcessBeforeDataMove();
prototype ProcessAfterDataMove();
prototype SetupRegistry();
prototype SetupFolders();
prototype CleanUpInstall();
prototype SetupInstall();
prototype SetupScreen();
prototype CheckRequirements();
prototype DialogShowSdWelcome();
prototype DialogShowSdShowInfoList();
prototype DialogShowSdAskDestPath();
prototype DialogShowSdSelectFolder();
prototype DialogShowSdFinishReboot();
// your prototypes
// ----- global variables ------
// generated
BOOL bWinNT, bIsShellExplorer;
STRING svDir;
STRING svName, svCompany, svSerial;
STRING svDefGroup;
STRING szAppPath;
STRING svSetupType;
LIST listStartCopy;
// your global variables
///////////////////////////////////////////////////////////////////////////////
// //
// MAIN PROGRAM //
// //
// The installation begins here by staring out by hiding the visible //
// installation window. This is done to allow all the titles, images //
// etc.. to be setup before showing the main window. The following //
// logic then performs the installation in a series of steps. //
// //
///////////////////////////////////////////////////////////////////////////////
program
Disable( BACKGROUND );
SetupInstall();
SetupScreen();
if (ShowDialogs()<0) goto end_install;
if (ProcessBeforeDataMove()<0) goto end_install;
if (MoveFileData()<0) goto end_install;
if (ProcessAfterDataMove()<0) goto end_install;
if (SetupRegistry()<0) goto end_install;
if (SetupFolders()<0) goto end_install;
if (CleanUpInstall()<0) goto end_install;
end_install:
exit;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: ShowDialogs //
// //
// Purpose: This function manages the operation of showing and navigating //
// the standard dialogs that exist in a installation. //
// //
///////////////////////////////////////////////////////////////////////////////
function ShowDialogs()
NUMBER nResult;
begin
Dlg_Start:
// beginning of dialogs label
Dlg_SdWelcome:
nResult = DialogShowSdWelcome();
if (nResult = BACK) goto Dlg_Start;
Dlg_SdShowInfoList:
nResult = DialogShowSdShowInfoList();
if (nResult = BACK) goto Dlg_SdWelcome;
Dlg_SdAskDestPath:
nResult = DialogShowSdAskDestPath();
if (nResult = BACK) goto Dlg_SdShowInfoList;
Dlg_SdSelectFolder:
nResult = DialogShowSdSelectFolder();
if (nResult = BACK) goto Dlg_SdAskDestPath;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: MoveFileData //
// //
// Purpose: This function will setup and handle the data movement for //
// the installation. //
// //
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
NUMBER nResult, nDisk;
begin
nDisk = 1;
SetStatusWindow( 0, "" );
Disable( DIALOGCACHE );
Enable( STATUS );
StatusUpdate( ON, 100 );
nResult = ComponentMoveData( MEDIA, nDisk, 0 );
HandleMoveDataError( nResult );
Disable( STATUS );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: HandleMoveDataError //
// //
// Purpose: This will handle the error (if any) during the move data //
// operation. //
// //
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
begin
switch (nResult)
case 0:
return 0;
default:
SprintfBox( WARNING, @TITLE_CAPTIONBAR, @ERROR_MOVEDATA, nResult );
return nResult;
endswitch;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: ProcessAfterDataMove //
// //
// Purpose: This will perform any necessary operations needed after all //
// data has been moved. //
// //
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
begin
// TODO : update self-registered files and other processes that
// should be perform after the data has been moved.
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: ProcessBeforeDataMove //
// //
// Purpose: This will perform any necessary operations prior to the //
// actual data move operation. //
// //
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
STRING svLogFile;
begin
// TODO : update any items you want to process before moving the data
//
InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
svLogFile = UNINST_LOGFILE_NAME;
DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
RegDBSetItem( REGDB_APPPATH, szAppPath );
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: SetupRegistry //
// //
// Purpose: This will setup the registry entries for this installation. //
// //
// //
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
begin
// TODO : Add all your registry entry keys here
//
//
// RegDBCreateKey, RegDBSetKeyValue....
//
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: SetupFolders //
// //
// Purpose: This function will setup all the folders and shortcuts for the //
// installation. This includes program groups, items for Win31 //
// //
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
begin
AddFolderIcon(svDefGroup , @PRODUCT_NAME,
svDir ^ @PRODUCT_KEY,
"" , "" , 0 , "" , REPLACE );
AddFolderIcon(svDefGroup , "ReadMe",
svDir ^ "README.TXT",
"" , "" , 0 , "" , REPLACE ); return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: CleanUpInstall //
// //
// Purpose: This will cleanup the installation. Anything that should //
// be released or delete at the end of the installation should //
// be done here. //
// //
///////////////////////////////////////////////////////////////////////////////
function CleanUpInstall()
begin
DialogShowSdFinishReboot();
if (BATCH_INSTALL) then // ensure locked files are properly written
CommitSharedFiles(0);
endif;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: SetupInstall //
// //
// Purpose: This will setup the installation. Any general initialization //
// needed for the installation should be performed here. //
// //
///////////////////////////////////////////////////////////////////////////////
function SetupInstall()
begin
Enable( CORECOMPONENTHANDLING );
listStartCopy = ListCreate(0);
svDir = WINSYSDISK ^ "CBook";
TARGETDIR = svDir;
szAppPath = svDir;
SdProductName( @PRODUCT_NAME );
Enable( DIALOGCACHE );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: SetupScreen //
// //
// Purpose: This function will set up the screen look. This includes //
// colors, fonts, text to be displayed, etc. //
// //
///////////////////////////////////////////////////////////////////////////////
function SetupScreen()
NUMBER nDx, nDy;
begin
GetExtents( nDx, nDy );
Enable( FULLWINDOWMODE );
SetTitle( @TITLE_MAIN, 24, WHITE );
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
Enable(BITMAP256COLORS);
SetColor(BACKGROUND, BK_BLUE);
Enable( BACKGROUND );
Delay( 1 );
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: CheckRequirements //
// //
// Purpose: This function will check all minimum requirements for the //
// application being installed. If any fail, then the user //
// is informed and the installation is terminated. //
// //
///////////////////////////////////////////////////////////////////////////////
function CheckRequirements()
NUMBER nvDx, nvDy, nvResult;
STRING svResult;
begin
// Check screen resolution.
GetExtents( nvDx, nvDy );
if (nvDy < 480) then
MessageBox( @ERROR_VGARESOLUTION, WARNING );
abort;
endif;
// Determine the target system's operating system.
GetSystemInfo( OS, nvResult, svResult );
bWinNT = FALSE;
bIsShellExplorer = FALSE;
if (nvResult = IS_WINDOWSNT) then
bWinNT = TRUE; // Running Windows NT.
// Check to see if the shell being used is EXPLORER shell.
if (( nvResult = IS_WINDOWSNT ) || ( nvResult = IS_WINDOWS95 )) then
if (GetSystemInfo( OSMAJOR, nvResult, svResult ) = 0) then
if (nvResult >= 4) then
bIsShellExplorer = TRUE;
endif;
endif;
endif;
elseif (nvResult = IS_WINDOWS95 ) then
bIsShellExplorer = TRUE;
endif;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: DialogShowSdWelcome //
// //
// Purpose: This function will handle the standard welcome dialog. //
// //
// //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdWelcome()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "";
szMsg = "";
nResult = SdWelcome( szTitle, szMsg );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: DialogShowSdShowInfoList //
// //
// Purpose: This function will handle the general information list dialog. //
// //
// //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdShowInfoList()
NUMBER nResult;
LIST list;
STRING szTitle, szMsg, szFile;
begin
szFile = SUPPORTDIR ^ "infolist.txt";
list = ListCreate( STRINGLIST );
ListReadFromFile( list, szFile );
szTitle = "";
szMsg = " ";
nResult = SdShowInfoList( szTitle, szMsg, list );
ListDestroy( list );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: DialogShowSdAskDestPath //
// //
// Purpose: This function will handle the query of the user for the //
// destination directory. //
// //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdAskDestPath()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "";
szMsg = "";
nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
TARGETDIR = svDir;
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: DialogShowSdSelectFolder //
// //
// Purpose: This function will handle the standard folder selection dialog. //
// //
// //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdSelectFolder()
NUMBER nResult;
STRING szTitle, szMsg;
begin
if (svDefGroup = "") then
svDefGroup = @FOLDER_NAME;
endif;
szTitle = "";
szMsg = "";
nResult = SdSelectFolder( szTitle, szMsg, svDefGroup );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// //
// Function: DialogShowSdFinishReboot //
// //
// Purpose: This function will show the last dialog of the product. //
// It will allow the user to reboot and/or show some readme text. //
// //
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdFinishReboot()
NUMBER nResult, nDefOptions;
STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
NUMBER bOpt1, bOpt2;
begin
if (!BATCH_INSTALL) then
bOpt1 = FALSE;
bOpt2 = FALSE;
szMsg1 = "";
szMsg2 = "";
szOption1 = "";
szOption2 = "";
nResult = SdFinish( szTitle, szMsg1, szMsg2, szOption1, szOption2, bOpt1, bOpt2 );
return 0;
endif;
nDefOptions = SYS_BOOTMACHINE;
szTitle = "";
szMsg1 = "";
szMsg2 = "";
nResult = SdFinishReboot( szTitle, szMsg1, nDefOptions, szMsg2, 0 );
return nResult;
end;
// --- include script file section ---
#include "sddialog.rul"

View file

@ -0,0 +1,77 @@
Thank you for using ContactBook! Please review this file for
any changes which may impact your use of TheBook. If you
have any questions, please feel free to email me. This
application is freeware - anyone may use it, be it
commercial, educational, or personal use without charge.
However, this does not mean you may bundle the application
commercially without my consent or use it in any way which
directly may bring profit.
ContactBook - History of Changes
Version 1.2
-----------
Major Update!! Program Name Change! Because of a conflict
with another program called "TheBook", I have agreed to change
the name of mine (since I don't charge for it anyway) to
"ContactBook". As such, the EXE, INI, HLP and data files are
also renamed. Just rename your *.TBD files to *.CBD and
they'll be fine. A lot of good came out of the name change -
streamlined code, better "string" management (for when we
make it into another language!), and so forth.
New:
- Ability to order columns in any way
- via Drag -n- Drop
- via a page in the Preferences dialog
- Ability to sort columns ascending or descending
- Option for "Flat" (MSIE-Style) toolbar
- Ability to use ENTER keys in "Notes" section
- NOTE: because ContactBook uses a text data file, ENTER keys
are translated to "<p>" (ala HTML) on the fly for most
internal functions. If you export from CB32 and Import into
another application, you will need to run a search and
replace to convert them to CR+LF.
- Visual indicator (triangle) of Sort Order in list header
- Ability to Start Minimized in the System Tray
- Ability to Copy and Edit a selected address for mass entries
- Ability to Reset column sizes/positions to default via buttons
- Nifty doodads to support all the above items as needed...
Fixed:
- Hitting DELETE while the cursor was in the Toolbar Find box
was deleteing the highlit address. Yuck. Sorry 'bout that.
- Color Schemes (in Windows) with Black backgrounds didn't
show the text -- black on black isn't really smart, eh?
CB32 should now respect foreground/background settings
in all Color Schemes
- Ampersands (&) were not displaying correctly in the list view
- Various little nasties, probably from rewriting the code in
the name change.
ToDo:
- Printing, Printing, Printing...[sigh]
- Localization?
Version 1.1
-----------
NOTE: With this upgrade, you will need to redo your column preferences.
The six added fields are being inserted in the middle of the others,
so all previous column settings will shift six places to the right. If
you are feeling brave, edit the TB32.INI before running 1.1, changing
"COL10" to "COL16", "COL11" to "COL17", and so forth ("COL0" through
COL9" are fine). Otherwise, simply reconfigure within the program.
- Added fields for Company, Department, Position, Manager, and two
Additional fields
- Added ability to search on any field (even Notes!)
- Fixed F3 "Find Next" not working
Version 1.0
-----------
- Initial release

View file

@ -0,0 +1,16 @@
[Data]
TITLE_MAIN=ContactBook 1.2 Setup
COMPANY_NAME=LCNSoft
ERROR_MOVEDATA=An error occurred during the move data process : %d
PRODUCT_VERSION=1.2
UNINST_KEY=ContactBook
TITLE_CAPTIONBAR=ContactBook 1.2 Setup
FOLDER_NAME=ContactBook
ERROR_VGARESOLUTION=This program requires VGA or better resolution.
PRODUCT_KEY=CB32.EXE
UNINST_DISPLAY_NAME=ContactBook 1.2
PRODUCT_NAME=ContactBook
[General]
Language=0009
Type=STRINGTABLESPECIFIC
Version=1.00.000

View file

@ -0,0 +1,40 @@
[TITLE_MAIN]
Comment=
[COMPANY_NAME]
Comment=
[ERROR_MOVEDATA]
Comment=
[PRODUCT_VERSION]
Comment=
[UNINST_KEY]
Comment=
[Language]
Lang0=0009
CurrentLang=0
[TITLE_CAPTIONBAR]
Comment=
[Data]
Entry0=ERROR_VGARESOLUTION
Entry1=TITLE_MAIN
Entry2=TITLE_CAPTIONBAR
Entry3=UNINST_KEY
Entry4=UNINST_DISPLAY_NAME
Entry5=COMPANY_NAME
Entry6=PRODUCT_NAME
Entry7=PRODUCT_VERSION
Entry8=PRODUCT_KEY
Entry10=FOLDER_NAME
Entry9=ERROR_MOVEDATA
[FOLDER_NAME]
Comment=
[ERROR_VGARESOLUTION]
Comment=
[PRODUCT_KEY]
Comment=
[UNINST_DISPLAY_NAME]
Comment=
[General]
Type=STRINGTABLE
Version=1.00.000
[PRODUCT_NAME]
Comment=

View file

@ -0,0 +1,44 @@
[<HKCR>]
KeyType=4
Value=
[<HKUS>]
KeyType=4
Value=
[<PROGRAMFILES>]
KeyType=4
Value=
[<WINSYSDIR>]
KeyType=4
Value=
[<COMMONFILES>]
KeyType=4
Value=
[<WINDIR>]
KeyType=4
Value=
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<HKLM>
Key5=<HKCU>
Key6=<HKCC>
Key7=<HKDD>
Key8=<HKUS>
Key9=<HKCR>
[General]
Type=TEXTSUB
Version=1.00.000
[<HKCU>]
KeyType=4
Value=
[<HKLM>]
KeyType=4
Value=
[<HKDD>]
KeyType=4
Value=
[<HKCC>]
KeyType=4
Value=

View file

@ -0,0 +1,56 @@
[<HKCR>]
KeyType=4
Value=
[<HKUS>]
KeyType=4
Value=
[<SRCDIR>]
KeyType=4
Value=
[<PROGRAMFILES>]
KeyType=4
Value=
[<TARGETDIR>]
KeyType=4
Value=
[<WINSYSDIR>]
KeyType=4
Value=
[<COMMONFILES>]
KeyType=4
Value=
[<WINDIR>]
KeyType=4
Value=
[Data]
Key0=<PROGRAMFILES>
Key1=<COMMONFILES>
Key2=<WINDIR>
Key3=<WINSYSDIR>
Key4=<TARGETDIR>
Key10=<HKDD>
Key5=<SUPPORTDIR>
Key11=<HKUS>
Key6=<SRCDIR>
Key12=<HKCR>
Key7=<HKLM>
Key8=<HKCU>
Key9=<HKCC>
[<SUPPORTDIR>]
KeyType=4
Value=
[General]
Type=TEXTSUB
Version=1.00.000
[<HKCU>]
KeyType=4
Value=
[<HKLM>]
KeyType=4
Value=
[<HKDD>]
KeyType=4
Value=
[<HKCC>]
KeyType=4
Value=

View file

@ -0,0 +1,4 @@
InstallShield 5.0 (VC5 Free Edition) Project -- unzip to your
\My Installations\ directory into a new folder called
"ContactBook" to use. You will have to edit the project
to match file locations on your machine.