PDA

View Full Version : Beginning



NewsArchive
07-28-1996, 12:00 AM
Ritesh Parikh wrote:
>
> Eric,
>
> You can download the evaluation copy of the InstallShield Express
> Professional from the InstallShield Express web site. This evaluation
> copy is a fully-functional copy. The current one will expire in a week.
> However, we will be putting up a new copy soon that will expire in
> October.
>
> At this time, InstallShield is devoting all resources to the enhancement
> of IS Express Pro. This version incorporates all the custom editions
> (Delphi, BC, VB, VC, etc.).
>
> Ritesh
> InstallShield Technical Support
>

So if those of us that don't want to pay for professional are out of
luck? This is terrible. IS should at least give us bug fixes for the
standard version like was stated on the IS web page.

Eric

NewsArchive
09-09-1996, 12:00 AM
Hmm,
I'm not sure how the licensing works, but Borland shelled out some amount
of
money to include the product, no? AND Borland charged considerably more
for the Developer version of Delphi than the Desktop.

The software is not FREE by my understanding and I'm disappointed that
it also works so poorly with the BDE. Guess they have enough business
with Microsoft apps to care much...

Jim Lowry <jiml@hal-pc.org> wrote in article
<01bb9512$899ae3c0$34a1dece@hal-pc.org>...
> Eric: The product was free. What do you expect? Ever heard the
> expression, "You get what you pay for"?
>
>
> Eric Meyers <emeyers@flinet.com> wrote in article
> <31F6BD53.24EF@flinet.com>...
> > I have been trying to get an answer from the IS people with no success.
> f Professional. What are those of us that do not want to shell out big
> > bucks for the professional supposed to do?
> >
> > Thanks,
> > Eric Meyers
> >
>

NewsArchive
09-10-1998, 12:00 AM
Michael Taylor wrote:

> Hmm,
> I'm not sure how the licensing works, but Borland shelled out some amount
> of
> money to include the product, no? AND Borland charged considerably more
> for the Developer version of Delphi than the Desktop.
>
> The software is not FREE by my understanding and I'm disappointed that
> it also works so poorly with the BDE. Guess they have enough business
> with Microsoft apps to care much...
>
> Jim Lowry <jiml@hal-pc.org> wrote in article
> <01bb9512$899ae3c0$34a1dece@hal-pc.org>...
> > Eric: The product was free. What do you expect? Ever heard the
> > expression, "You get what you pay for"?
> >
> >
> > Eric Meyers <emeyers@flinet.com> wrote in article
> > <31F6BD53.24EF@flinet.com>...
> > > I have been trying to get an answer from the IS people with no success.
> > f Professional. What are those of us that do not want to shell out big
> > > bucks for the professional supposed to do?
> > >
> > > Thanks,
> > > Eric Meyers
> > >
> >
>

I agree with you Michael. We have problems on just about every PC we install
our GPS mapping software on. It's got a couple of OCX's and aliases. It's
basicly a mess.

NewsArchive
09-10-1998, 12:00 AM
On Thu, 10 Sep 1998 10:06:20 +0200, Don Schoeman <don@kivtronics.co.za>
wrote:
>I agree with you Michael. We have problems on just about every PC we install
>our GPS mapping software on. It's got a couple of OCX's and aliases. It's
>basicly a mess.

Which problems are you experiencing, and with which version of Express.
Which product was it bundled with?

Stefan Paetow
InstallShield Software Corp.

NewsArchive
09-29-1999, 12:00 AM
We will download the lastest version check again. Thanks for the prompt
response. The quaility of service provided by InstallShield on this
newsgroup definitely influenced our decision to opt for the InstallShield
product.

Here are more details on the unanswered queries:

>>* When I set a PUBLIC property for a combo box, it does not use my list of
>>options set in the items property via the dialog editor. As soon as I use
a
>>private property it works OK.
>
>[David] What options do you see?

The combo box is empty, ie it drops down correctly, but there are no strings
displayed. As soon as I change the property back to private, the strings
reappear.

>>* In the Product Install Conditions, when I type a message in directy in
>the
>>Message edit box, a new string ID is created, NEW_STRING123, but the
>message
>>which displays is "{NEW_STRING123} ...", where ... is my message. When I
>>select an existing entry in the String Table by selecting the string table
>>tab and right mouse clicking, it works OK at first. Then randomly it may
>>change to displaying the string ID only, or the String ID inside {}s in
>>addition to the message. Generally your relationship between the product
>>condition messages and the string table are ****. A school kid could do
>>better.
>
>[David] When an entry which references the string table is in edit mode,
>you will see only the string. When it is not in edit mode, you will see
the
>string ID prepended to any text that you have entered. {String}MyString.
>This is to let you know what string ID is being used in that particular
>field as a reference.
>

I may not have been very clear. The problem isn't with how the string is
displayed in the IDE. What is actually happening is the {NEW_STRING123}
string ID is actually being displayed at runtime. Additionally, after my
project file became corrupted some how, (it claimed my file was from a
previous version and after conversion it lost most of the information) I
opened a new project from the msi file and observed that the {NEW_STRING123}
had been included in the value column of the string table. Sometimes it
appears that the {NEW_STRING123} is included in both the Identifier and
Value column of the String Table, hence resulting in the identifier being
displayed at runtime.

NewsArchive
11-01-1999, 01:00 AM
Could you paste your script here?

Henrik M. Jehg <hmj@#iccc#.dk> wrote in message
news:381d8cc1.0@news.installshield.com...
> Hello everybody
>
> Error L8411: '' : no definition found for function
>
> I keep getting this error message, when the setup script is being
> linked. I can't find any reference for this error message, but it seems
> to be an error message with no content, because it doesn't specify which
> function it can't find any definition for?!?
>
> The error message came first time after I defined a function, and even
> though I rolled back to the original source code, it kept occuring.
>
> Any suggestions?
>

NewsArchive
11-02-1999, 01:00 AM

NewsArchive
11-02-1999, 01:00 AM
The real problem lies in lines 274 & 276 of setup.rul which look like:

if (SetupType = "Server") then // line 274
szMsg2 = ...
elseif (SetupType = "Block Call Service") then // line 276
szMsg2 = ...

Notice that the if & the elseif expressions use 'SetupType' which is really
the name of a script function. It looks like 'szSetupType' was the variable
that you wanted to use there. If you make this change the script should
compile and link fine.

It is a bug in the compiler that it did not flag this as an error. We're
looking
into this bug now and this should hopefully be fixed in the next MP.

Rajesh

Henrik M. Jehg <hmj@#iccc#.dk> wrote in message
news:381e9156.0@news.installshield.com...
> Sure, Here it comes.
>
> Mingbiao Fei wrote:
>
> > Could you paste your script here?
> >
> > Henrik M. Jehg <hmj@#iccc#.dk> wrote in message
> > news:381d8cc1.0@news.installshield.com...
> > > Hello everybody
> > >
> > > Error L8411: '' : no definition found for function
> > >
> > > I keep getting this error message, when the setup script is being
> > > linked. I can't find any reference for this error message, but it
seems
> > > to be an error message with no content, because it doesn't specify
which
> > > function it can't find any definition for?!?
> > >
> > > The error message came first time after I defined a function, and even
> > > though I rolled back to the original source code, it kept occuring.
> > >
> > > Any suggestions?
> > >
>


----------------------------------------------------------------------------
----


> // UNA500 installation Check
> // InstallShield script
>
> prototype CheckForU500 ();
>
> function CheckForU500 ()
> NUMBER nResult;
> STRING szInsFile;
> begin
> RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
> nResult = RegDBKeyExist ( "SOFTWARE\\UNA\\UNA500" );
> if (nResult<0) then
> MessageBox ( "UNA500 System not installed. \nRun UNA500 Setup Program" ,
SEVERE );
> file://DoInstall ( szInsFile , szCmdLine , WAIT );
> endif;
> return nResult;
> end;
>


----------------------------------------------------------------------------
----


>
////////////////////////////////////////////////////////////////////////////
////
> //
> // IIIIIII SSSSSS
> // II SS InstallShield (R)
> // II SSSSSS (c) 1996-1999, InstallShield Software Corporation
> // II SS (c) 1990-1996, InstallShield Corporation
> // IIIIIII SSSSSS All Rights Reserved.
> //
> //
> // This code is generated as a starting setup template. You should
> // modify it to provide all necessary steps for your setup.
> //
> //
> // File Name: Setup.rul
> //
> // Description: InstallShield script
> //
> // Comments: This template script performs a basic setup. With minor
> // modifications, this template can be adapted to create
> // new, customized setups.
> //
>
////////////////////////////////////////////////////////////////////////////
////
>
>
>
> // Include header files
>
> #include "ifx.h" file://DO NOT REMOVE
> #include "p:\u500src\install\u500chk.rul"
>
> ////////////////////// string defines ////////////////////////////
>
> //////////////////// installation declarations ///////////////////
>
> // ----- DLL function prototypes -----
>
>
> // your DLL function prototypes
>
>
> // ---- script function prototypes -----
>
>
> // your script function prototypes
> prototype DialogAndReg ();
>
> // your global variables
>
> STRING szIpAdd, szSetupType;
>
> /*function ()
> begin
> end;*/
>
>
////////////////////////////////////////////////////////////////////////////
///
> //
> // Function: OnFirstUIBefore
> //
> // Purpose: This Event Handler manages the display and navigation of
> // the standard dialogs that exist in a setup.
> //
>
////////////////////////////////////////////////////////////////////////////
///
>
> function DialogAndReg ()
> NUMBER nResult;
> STRING szTitle, szMsg;
> STRING szLicenseFile, szQuestion;
> STRING svName, svCompany, svSerial;
> STRING szDir;
> STRING szfolder;
> STRING szComponents, szTargetdir;
> STRING szDefault, szDBName, szDllPath;
> STRING AuthKey, MeritoKey;
> NUMBER nLevel;
> NUMBER nvSize;
> begin
>
> file://To Do: if you want to enable background, window title, and
caption bar title
> // SetTitle( @TITLE_MAIN, 24, WHITE );
> // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
> // Enable( FULLWINDOWMODE );
> // Enable( BACKGROUND );
> // SetColor(BACKGROUND,RGB (0, 128, 128));
>
> // Check if UNA500 is installed
>
> CheckForU500 ();
>
> // If not, run the instalation for UNA500
>
>
> szSetupType = "Maintain";
> szDir = PROGRAMFILES ^@COMPANY_NAME ^@PRODUCT_NAME;
> SHELL_OBJECT_FOLDER = @FOLDER_NAME;
> svName = "";
> svCompany = "";
> svSerial = "";
>
> Dlg_Start:
> // beginning of dialogs label
>
> Dlg_SdWelcome:
> szTitle = "";
> szMsg = "";
> nResult = SdWelcome( szTitle, szMsg );
> if (nResult = BACK) goto Dlg_Start;
>
> Dlg_SdLicense:
> szLicenseFile = SUPPORTDIR ^ "license.txt";
> szTitle = "";
> szMsg = "";
> szQuestion = "";
> nResult = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
> if (nResult = BACK) goto Dlg_SdWelcome;
>
> Dlg_SetupType:
> szTitle = "";
> if (szSetupType = "Server") then
> szMsg = "The Server program MUST be installed on a local Hard Disk
Drive";
> else
> szMsg = "";
> endif;
> file://nResult = sdSetupType ( szTitle , szMsg , "" , nSetupType ,
0 );
> nResult = SdSetupTypeEx( szTitle, szMsg, "", szSetupType, 0 );
> if (nResult = BACK) then
> goto Dlg_SdLicense;
> endif;
>
> szTitle = "Setup - Merito " ^ szSetupType;
> SetTitle (szTitle, 24, BACKGROUNDCAPTION);
>
> Dlg_SdAskDestPath:
> szTitle = "";
> szMsg = "";
> nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
> TARGETDIR = szDir;
> if (nResult = BACK) goto Dlg_SetupType;
>
> Dlg_SdSelectFolder:
> szfolder = SHELL_OBJECT_FOLDER;
> szTitle = "";
> szMsg = "";
> nResult = SdSelectFolder( szTitle, szMsg, szfolder );
> SHELL_OBJECT_FOLDER = szfolder;
> if (nResult = BACK) goto Dlg_SdAskDestPath;
>
> Dlg_Extra:
> if (szSetupType = "Server") then
> szTitle = "Please enter the File Name for the Database file.\n If
not determined yet, just press next";
> szDefault = "";
> nResult = AskText ( szTitle, szDefault , szDBName );
> else
> szTitle = "Please enter the IP address of the Merito Server";
> szDefault = "192.168.1.1";
> nResult = AskText ( szTitle, szDefault , szIpAdd );
> endif;
>
> if (nResult = BACK) goto Dlg_SdSelectFolder;
>
> End_Dialogs:
> goto DEBUG_END;
>
> //////Update Registry
>
> szDllPath = TARGETDIR ^ "\MerdbMgr.dll";
>
> RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
> if (szSetupType = "Server") then
> AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\SCSV";
> RegDBCreateKeyEx (AuthKey, "");
> RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
"8364" , -1 );
> MeritoKey = "SOFTWARE\\UNA\\Merito";
> RegDBSetKeyValueEx ( MeritoKey , "DBMGRPath" , REGDB_STRING ,
szDllPath , -1 );
> RegDBSetKeyValueEx ( MeritoKey , "MeritoDB" , REGDB_STRING ,
szDBName , -1 );
>
> elseif (szSetupType = "Maintain") then
> AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\MeritoDP";
> RegDBCreateKeyEx (AuthKey, "");
> RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
"8364" , -1 );
> MeritoKey = "SOFTWARE\\UNA\\Merito";
> RegDBSetKeyValueEx ( MeritoKey , "DBMGRPath" , REGDB_STRING ,
szDllPath , -1 );
> RegDBSetKeyValueEx ( MeritoKey , "MeritoDB" , REGDB_STRING ,
szDBName , -1 );
>
> elseif (szSetupType = "Block Call Server") then
> AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\SCBC";
> RegDBCreateKeyEx (AuthKey, "");
> RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
"8364" , -1 );
> RegDBSetKeyValueEx ( AuthKey , "NrCon" , REGDB_NUMBER , "1"
, -1 );
> szIpAdd = szIpAdd ^ ":8500";
> RegDBSetKeyValueEx ( AuthKey , "Con1" , REGDB_STRING , szIpAdd
, -1 );
>
> elseif (szSetupType = "Dispatch") then
> AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\MeritoDP";
> RegDBCreateKeyEx (AuthKey, "");
> RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
"8364" , -1 );
> endif;
>
>
> DEBUG_END:
> // setup default status
> SetStatusWindow(0, "");
> Enable(STATUSEX);
> StatusUpdate(ON, 100);
>
> return 0;
>
> end;
>
> function OnFirstUIBefore()
> NUMBER nResult;
> begin
> nResult = DialogAndReg ();
> return nResult;
> end;
>
>
////////////////////////////////////////////////////////////////////////////
/////////
> //
> // Function: OnFirstUIAfter
> //
> // Purpose: This Event Handler displays the appropriate finish dialog at
the end
> // of a first time installation. If the installation requires a reboot
based
> // on BATCH_INSTALL = TRUE, then the SdFinishReboot dialog will display.
> //
>
////////////////////////////////////////////////////////////////////////////
/////////
> function OnFirstUIAfter()
> STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
> STRING szCommand, szCmdLine;
> STRING szProgramFolder , szItemName , szCommandLine , szWorkingDir ,
szIconPath , szShortCutKey;
> NUMBER nIcon;
> NUMBER bOpt1, bOpt2;
> begin
> Disable(STATUSEX);
>
> szProgramFolder = SHELL_OBJECT_FOLDER;
> szWorkingDir = TARGETDIR;
> nIcon = 0;
> szShortCutKey = "";
> // Create program shortcuts
> ProgDefGroupType (PERSONAL);
>
> if (szSetupType = "Server") then
> szCommand = TARGETDIR ^ "Merisrv.exe";
> szCmdLine = " /Install";
> // Execute "MeriSrv /install"
> LaunchApp ( szCommand , szCmdLine );
>
> elseif (szSetupType = "Maintain") then
>
> szItemName = "Merito Maintain";
> szIconPath = TARGETDIR ^ "\\Maintain.exe";
> szCommandLine = TARGETDIR ^ "\\Maintain.exe";
> AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> szCommandLine = TARGETDIR ^ "\\Maintain.exe /p" ^ szIpAdd;
> szItemName = "Connected Maintain";
> AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> elseif (szSetupType = "Block Call Server") then
> szCommand = TARGETDIR ^ "MerBlock.exe";
> szCmdLine = " /Install";
>
> LaunchApp ( szCommand , szCmdLine );
>
> // Execute "Merblock /install"
>
> elseif (szSetupType = "Dispatch") then
> szItemName = "Merito Dispatch";
> szIconPath = TARGETDIR ^ "\\Dispatch.exe";
> szCommandLine = TARGETDIR ^ "\\Dispatch.exe" ^ szIpAdd;
> AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> endif;
>
> bOpt1 = FALSE;
> bOpt2 = FALSE;
> szMsg1 = SdLoadString(IFX_SDFINISH_MSG1);
> if (SetupType = "Server") then
> szMsg2 = "Remember to specify User Account in Control Panel
Services Applet";
> elseif (SetupType = "Block Call Service") then
> szMsg2 = "Remember to specify User Account in Control Panel
Services Applet";
> else
> szMsg2 = "";
> endif;
> szOption1 = "";
> szOption2 = "";
> szTitle = "";
> SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
> return 0;
> end;
>
>
>
////////////////////////////////////////////////////////////////////////////
///
> //
> // Function: OnMaintUIBefore
> //
> // Purpose: This Event Handler prompts the end-user to confirm the removal
> // of the installed application.
> //
>
////////////////////////////////////////////////////////////////////////////
///
> function OnMaintUIBefore()
> STRING svResult,szCaption;
> NUMBER nResult;
> begin
>
> file://To Do: if you want to enable background, window title, and
caption bar title
> // SetTitle( @TITLE_MAIN, 24, WHITE );
> // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
> // SetColor(BACKGROUND,RGB (0, 128, 128));
> // Enable( FULLWINDOWMODE );
> // Enable( BACKGROUND );
>
>
> file://Maintenance Mode
> svResult = SdLoadString(IFX_MAINTUI_MSG);
> szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
> nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
> if (nResult = IDCANCEL) then
> DialogAndReg();
> file://exit;
> elseif(nResult = IDOK) then
> // setup default status
> SetStatusWindow(0, "");
> Enable(STATUSEX);
> StatusUpdate(ON, 100);
>
> file://-->Remove all components
> ComponentRemoveAll();
> endif;
> return 0;
>
> end;
>
>
////////////////////////////////////////////////////////////////////////////
////////////
> //
> // Function: OnMaintUIAfter
> //
> // Purpose: This Event Handler displays the appropriate finish dialog at
the end
> // of an installation during Maintenance Mode. If the installation
requires
> // a reboot based on BATCH_INSTALL = TRUE, then the SdFinishReboot
dialog will /*************************/// display.
> //
>
////////////////////////////////////////////////////////////////////////////
/////////////
> function OnMaintUIAfter()
> STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
> NUMBER bOpt1, bOpt2;
> begin
> Disable(STATUSEX);
> bOpt1 = FALSE;
> bOpt2 = FALSE;
> szMsg1 = SdLoadString(IFX_SDFINISH_MAINT_MSG1);
> szMsg2 = "";
> szOption1 = "";
> szOption2 = "";
> szTitle = SdLoadString(IFX_SDFINISH_MAINT_TITLE);
> SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
> return 0;
> end;
>
>
////////////////////////////////////////////////////////////////////////////
///
> //
> // Function: OnMoving
> //
> // Purpose: This Event Handler allows the you to specify properties for
> // creating the application path within the registry in order to
> // support logo compliance. Also allows you to perform any
> // operations before file transfer.
> //
>
////////////////////////////////////////////////////////////////////////////
///
> function OnMoving()
> STRING szAppPath;
> begin
> // Set LOGO Compliance Application Path
> // TO DO : if your application .exe is in a subfolder of TARGETDIR then
add subfolder
> szAppPath = TARGETDIR;
> RegDBSetItem(REGDB_APPPATH, szAppPath);
> RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);
>
> end;
>
> // --- include script file section ---
>

NewsArchive
11-03-1999, 01:00 AM
Well, thank you, now it works.

I'll try to keep my eyes open next time, but now we (I) now know how the
compiler/linker reacts to this kind of neglects.

Rajesh Ramachandran wrote:

> The real problem lies in lines 274 & 276 of setup.rul which look like:
>
> if (SetupType = "Server") then // line 274
> szMsg2 = ...
> elseif (SetupType = "Block Call Service") then // line 276
> szMsg2 = ...
>
> Notice that the if & the elseif expressions use 'SetupType' which is really
> the name of a script function. It looks like 'szSetupType' was the variable
> that you wanted to use there. If you make this change the script should
> compile and link fine.
>
> It is a bug in the compiler that it did not flag this as an error. We're
> looking
> into this bug now and this should hopefully be fixed in the next MP.
>
> Rajesh
>
> Henrik M. Jehg <hmj@#iccc#.dk> wrote in message
> news:381e9156.0@news.installshield.com...
> > Sure, Here it comes.
> >
> > Mingbiao Fei wrote:
> >
> > > Could you paste your script here?
> > >
> > > Henrik M. Jehg <hmj@#iccc#.dk> wrote in message
> > > news:381d8cc1.0@news.installshield.com...
> > > > Hello everybody
> > > >
> > > > Error L8411: '' : no definition found for function
> > > >
> > > > I keep getting this error message, when the setup script is being
> > > > linked. I can't find any reference for this error message, but it
> seems
> > > > to be an error message with no content, because it doesn't specify
> which
> > > > function it can't find any definition for?!?
> > > >
> > > > The error message came first time after I defined a function, and even
> > > > though I rolled back to the original source code, it kept occuring.
> > > >
> > > > Any suggestions?
> > > >
> >
>
> ----------------------------------------------------------------------------
> ----
>
> > // UNA500 installation Check
> > // InstallShield script
> >
> > prototype CheckForU500 ();
> >
> > function CheckForU500 ()
> > NUMBER nResult;
> > STRING szInsFile;
> > begin
> > RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
> > nResult = RegDBKeyExist ( "SOFTWARE\\UNA\\UNA500" );
> > if (nResult<0) then
> > MessageBox ( "UNA500 System not installed. \nRun UNA500 Setup Program" ,
> SEVERE );
> > file://DoInstall ( szInsFile , szCmdLine , WAIT );
> > endif;
> > return nResult;
> > end;
> >
>
> ----------------------------------------------------------------------------
> ----
>
> >
> ////////////////////////////////////////////////////////////////////////////
> ////
> > //
> > // IIIIIII SSSSSS
> > // II SS InstallShield (R)
> > // II SSSSSS (c) 1996-1999, InstallShield Software Corporation
> > // II SS (c) 1990-1996, InstallShield Corporation
> > // IIIIIII SSSSSS All Rights Reserved.
> > //
> > //
> > // This code is generated as a starting setup template. You should
> > // modify it to provide all necessary steps for your setup.
> > //
> > //
> > // File Name: Setup.rul
> > //
> > // Description: InstallShield script
> > //
> > // Comments: This template script performs a basic setup. With minor
> > // modifications, this template can be adapted to create
> > // new, customized setups.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> ////
> >
> >
> >
> > // Include header files
> >
> > #include "ifx.h" file://DO NOT REMOVE
> > #include "p:\u500src\install\u500chk.rul"
> >
> > ////////////////////// string defines ////////////////////////////
> >
> > //////////////////// installation declarations ///////////////////
> >
> > // ----- DLL function prototypes -----
> >
> >
> > // your DLL function prototypes
> >
> >
> > // ---- script function prototypes -----
> >
> >
> > // your script function prototypes
> > prototype DialogAndReg ();
> >
> > // your global variables
> >
> > STRING szIpAdd, szSetupType;
> >
> > /*function ()
> > begin
> > end;*/
> >
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> > //
> > // Function: OnFirstUIBefore
> > //
> > // Purpose: This Event Handler manages the display and navigation of
> > // the standard dialogs that exist in a setup.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> >
> > function DialogAndReg ()
> > NUMBER nResult;
> > STRING szTitle, szMsg;
> > STRING szLicenseFile, szQuestion;
> > STRING svName, svCompany, svSerial;
> > STRING szDir;
> > STRING szfolder;
> > STRING szComponents, szTargetdir;
> > STRING szDefault, szDBName, szDllPath;
> > STRING AuthKey, MeritoKey;
> > NUMBER nLevel;
> > NUMBER nvSize;
> > begin
> >
> > file://To Do: if you want to enable background, window title, and
> caption bar title
> > // SetTitle( @TITLE_MAIN, 24, WHITE );
> > // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
> > // Enable( FULLWINDOWMODE );
> > // Enable( BACKGROUND );
> > // SetColor(BACKGROUND,RGB (0, 128, 128));
> >
> > // Check if UNA500 is installed
> >
> > CheckForU500 ();
> >
> > // If not, run the instalation for UNA500
> >
> >
> > szSetupType = "Maintain";
> > szDir = PROGRAMFILES ^@COMPANY_NAME ^@PRODUCT_NAME;
> > SHELL_OBJECT_FOLDER = @FOLDER_NAME;
> > svName = "";
> > svCompany = "";
> > svSerial = "";
> >
> > Dlg_Start:
> > // beginning of dialogs label
> >
> > Dlg_SdWelcome:
> > szTitle = "";
> > szMsg = "";
> > nResult = SdWelcome( szTitle, szMsg );
> > if (nResult = BACK) goto Dlg_Start;
> >
> > Dlg_SdLicense:
> > szLicenseFile = SUPPORTDIR ^ "license.txt";
> > szTitle = "";
> > szMsg = "";
> > szQuestion = "";
> > nResult = SdLicense( szTitle, szMsg, szQuestion, szLicenseFile );
> > if (nResult = BACK) goto Dlg_SdWelcome;
> >
> > Dlg_SetupType:
> > szTitle = "";
> > if (szSetupType = "Server") then
> > szMsg = "The Server program MUST be installed on a local Hard Disk
> Drive";
> > else
> > szMsg = "";
> > endif;
> > file://nResult = sdSetupType ( szTitle , szMsg , "" , nSetupType ,
> 0 );
> > nResult = SdSetupTypeEx( szTitle, szMsg, "", szSetupType, 0 );
> > if (nResult = BACK) then
> > goto Dlg_SdLicense;
> > endif;
> >
> > szTitle = "Setup - Merito " ^ szSetupType;
> > SetTitle (szTitle, 24, BACKGROUNDCAPTION);
> >
> > Dlg_SdAskDestPath:
> > szTitle = "";
> > szMsg = "";
> > nResult = SdAskDestPath( szTitle, szMsg, szDir, 0 );
> > TARGETDIR = szDir;
> > if (nResult = BACK) goto Dlg_SetupType;
> >
> > Dlg_SdSelectFolder:
> > szfolder = SHELL_OBJECT_FOLDER;
> > szTitle = "";
> > szMsg = "";
> > nResult = SdSelectFolder( szTitle, szMsg, szfolder );
> > SHELL_OBJECT_FOLDER = szfolder;
> > if (nResult = BACK) goto Dlg_SdAskDestPath;
> >
> > Dlg_Extra:
> > if (szSetupType = "Server") then
> > szTitle = "Please enter the File Name for the Database file.\n If
> not determined yet, just press next";
> > szDefault = "";
> > nResult = AskText ( szTitle, szDefault , szDBName );
> > else
> > szTitle = "Please enter the IP address of the Merito Server";
> > szDefault = "192.168.1.1";
> > nResult = AskText ( szTitle, szDefault , szIpAdd );
> > endif;
> >
> > if (nResult = BACK) goto Dlg_SdSelectFolder;
> >
> > End_Dialogs:
> > goto DEBUG_END;
> >
> > //////Update Registry
> >
> > szDllPath = TARGETDIR ^ "\MerdbMgr.dll";
> >
> > RegDBSetDefaultRoot ( HKEY_LOCAL_MACHINE );
> > if (szSetupType = "Server") then
> > AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\SCSV";
> > RegDBCreateKeyEx (AuthKey, "");
> > RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
> "8364" , -1 );
> > MeritoKey = "SOFTWARE\\UNA\\Merito";
> > RegDBSetKeyValueEx ( MeritoKey , "DBMGRPath" , REGDB_STRING ,
> szDllPath , -1 );
> > RegDBSetKeyValueEx ( MeritoKey , "MeritoDB" , REGDB_STRING ,
> szDBName , -1 );
> >
> > elseif (szSetupType = "Maintain") then
> > AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\MeritoDP";
> > RegDBCreateKeyEx (AuthKey, "");
> > RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
> "8364" , -1 );
> > MeritoKey = "SOFTWARE\\UNA\\Merito";
> > RegDBSetKeyValueEx ( MeritoKey , "DBMGRPath" , REGDB_STRING ,
> szDllPath , -1 );
> > RegDBSetKeyValueEx ( MeritoKey , "MeritoDB" , REGDB_STRING ,
> szDBName , -1 );
> >
> > elseif (szSetupType = "Block Call Server") then
> > AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\SCBC";
> > RegDBCreateKeyEx (AuthKey, "");
> > RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
> "8364" , -1 );
> > RegDBSetKeyValueEx ( AuthKey , "NrCon" , REGDB_NUMBER , "1"
> , -1 );
> > szIpAdd = szIpAdd ^ ":8500";
> > RegDBSetKeyValueEx ( AuthKey , "Con1" , REGDB_STRING , szIpAdd
> , -1 );
> >
> > elseif (szSetupType = "Dispatch") then
> > AuthKey = "SOFTWARE\\UNA\\UNA500\\AUTH\\MeritoDP";
> > RegDBCreateKeyEx (AuthKey, "");
> > RegDBSetKeyValueEx ( AuthKey , "ComSecurity" , REGDB_NUMBER ,
> "8364" , -1 );
> > endif;
> >
> >
> > DEBUG_END:
> > // setup default status
> > SetStatusWindow(0, "");
> > Enable(STATUSEX);
> > StatusUpdate(ON, 100);
> >
> > return 0;
> >
> > end;
> >
> > function OnFirstUIBefore()
> > NUMBER nResult;
> > begin
> > nResult = DialogAndReg ();
> > return nResult;
> > end;
> >
> >
> ////////////////////////////////////////////////////////////////////////////
> /////////
> > //
> > // Function: OnFirstUIAfter
> > //
> > // Purpose: This Event Handler displays the appropriate finish dialog at
> the end
> > // of a first time installation. If the installation requires a reboot
> based
> > // on BATCH_INSTALL = TRUE, then the SdFinishReboot dialog will display.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> /////////
> > function OnFirstUIAfter()
> > STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
> > STRING szCommand, szCmdLine;
> > STRING szProgramFolder , szItemName , szCommandLine , szWorkingDir ,
> szIconPath , szShortCutKey;
> > NUMBER nIcon;
> > NUMBER bOpt1, bOpt2;
> > begin
> > Disable(STATUSEX);
> >
> > szProgramFolder = SHELL_OBJECT_FOLDER;
> > szWorkingDir = TARGETDIR;
> > nIcon = 0;
> > szShortCutKey = "";
> > // Create program shortcuts
> > ProgDefGroupType (PERSONAL);
> >
> > if (szSetupType = "Server") then
> > szCommand = TARGETDIR ^ "Merisrv.exe";
> > szCmdLine = " /Install";
> > // Execute "MeriSrv /install"
> > LaunchApp ( szCommand , szCmdLine );
> >
> > elseif (szSetupType = "Maintain") then
> >
> > szItemName = "Merito Maintain";
> > szIconPath = TARGETDIR ^ "\\Maintain.exe";
> > szCommandLine = TARGETDIR ^ "\\Maintain.exe";
> > AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
> szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> > szCommandLine = TARGETDIR ^ "\\Maintain.exe /p" ^ szIpAdd;
> > szItemName = "Connected Maintain";
> > AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
> szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> > elseif (szSetupType = "Block Call Server") then
> > szCommand = TARGETDIR ^ "MerBlock.exe";
> > szCmdLine = " /Install";
> >
> > LaunchApp ( szCommand , szCmdLine );
> >
> > // Execute "Merblock /install"
> >
> > elseif (szSetupType = "Dispatch") then
> > szItemName = "Merito Dispatch";
> > szIconPath = TARGETDIR ^ "\\Dispatch.exe";
> > szCommandLine = TARGETDIR ^ "\\Dispatch.exe" ^ szIpAdd;
> > AddFolderIcon ( szProgramFolder , szItemName , szCommandLine ,
> szWorkingDir , szIconPath , nIcon , szShortCutKey , REPLACE );
> > endif;
> >
> > bOpt1 = FALSE;
> > bOpt2 = FALSE;
> > szMsg1 = SdLoadString(IFX_SDFINISH_MSG1);
> > if (SetupType = "Server") then
> > szMsg2 = "Remember to specify User Account in Control Panel
> Services Applet";
> > elseif (SetupType = "Block Call Service") then
> > szMsg2 = "Remember to specify User Account in Control Panel
> Services Applet";
> > else
> > szMsg2 = "";
> > endif;
> > szOption1 = "";
> > szOption2 = "";
> > szTitle = "";
> > SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
> > return 0;
> > end;
> >
> >
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> > //
> > // Function: OnMaintUIBefore
> > //
> > // Purpose: This Event Handler prompts the end-user to confirm the removal
> > // of the installed application.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> > function OnMaintUIBefore()
> > STRING svResult,szCaption;
> > NUMBER nResult;
> > begin
> >
> > file://To Do: if you want to enable background, window title, and
> caption bar title
> > // SetTitle( @TITLE_MAIN, 24, WHITE );
> > // SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION );
> > // SetColor(BACKGROUND,RGB (0, 128, 128));
> > // Enable( FULLWINDOWMODE );
> > // Enable( BACKGROUND );
> >
> >
> > file://Maintenance Mode
> > svResult = SdLoadString(IFX_MAINTUI_MSG);
> > szCaption = SdLoadString(IFX_ONMAINTUI_CAPTION);
> > nResult = SprintfBox(MB_OKCANCEL,szCaption,"%s",svResult);
> > if (nResult = IDCANCEL) then
> > DialogAndReg();
> > file://exit;
> > elseif(nResult = IDOK) then
> > // setup default status
> > SetStatusWindow(0, "");
> > Enable(STATUSEX);
> > StatusUpdate(ON, 100);
> >
> > file://-->Remove all components
> > ComponentRemoveAll();
> > endif;
> > return 0;
> >
> > end;
> >
> >
> ////////////////////////////////////////////////////////////////////////////
> ////////////
> > //
> > // Function: OnMaintUIAfter
> > //
> > // Purpose: This Event Handler displays the appropriate finish dialog at
> the end
> > // of an installation during Maintenance Mode. If the installation
> requires
> > // a reboot based on BATCH_INSTALL = TRUE, then the SdFinishReboot
> dialog will /*************************/// display.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> /////////////
> > function OnMaintUIAfter()
> > STRING szTitle, szMsg1, szMsg2, szOption1, szOption2;
> > NUMBER bOpt1, bOpt2;
> > begin
> > Disable(STATUSEX);
> > bOpt1 = FALSE;
> > bOpt2 = FALSE;
> > szMsg1 = SdLoadString(IFX_SDFINISH_MAINT_MSG1);
> > szMsg2 = "";
> > szOption1 = "";
> > szOption2 = "";
> > szTitle = SdLoadString(IFX_SDFINISH_MAINT_TITLE);
> > SdFinishEx(szTitle,szMsg1,szMsg2,szOption1,szOption2,bOpt1,bOpt2);
> > return 0;
> > end;
> >
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> > //
> > // Function: OnMoving
> > //
> > // Purpose: This Event Handler allows the you to specify properties for
> > // creating the application path within the registry in order to
> > // support logo compliance. Also allows you to perform any
> > // operations before file transfer.
> > //
> >
> ////////////////////////////////////////////////////////////////////////////
> ///
> > function OnMoving()
> > STRING szAppPath;
> > begin
> > // Set LOGO Compliance Application Path
> > // TO DO : if your application .exe is in a subfolder of TARGETDIR then
> add subfolder
> > szAppPath = TARGETDIR;
> > RegDBSetItem(REGDB_APPPATH, szAppPath);
> > RegDBSetItem(REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY);
> >
> > end;
> >
> > // --- include script file section ---
> >

NewsArchive
04-05-2000, 12:00 AM
Though not the original poster, I thank you very much for this lead.
Amazing how simple searches did NOT reveal this book to me.
Do you have any other recommendations?

PLMK.
Richard


Victoria Wong wrote:
>
> Try "Bulletproof Installs -- A Developer's Guide to Install Programs for
> Windows" by Leslie E. Easter.
>
> Sea Chong Seak wrote in message <38C5D95B.73E9046C@mimos.my>...
> >hi, all,
> >
> > Have any book available for install shied 5 ? I need book for
> >intermediate and advanced use of install shield.
> >
> >thank
> >
> >cssea
> >

NewsArchive
04-11-2000, 12:00 AM
This is the only book about InstallShield on the market. There are some
other books that a setup developer may find useful. I have put up a list at
http://www.InstallSite.org/books.htm

--
Stefan Krueger - Independent Setup Consultant
<<reply-to address is invalid to avoid spam>>

Visit InstallSite at http://www.installsite.org to download
free code samples, tips, tools and more...
For information about individual support and consulting services
please send a blank mail to the autoresponder at info@installsite.org


richard starr <richardstarr@earthlink.net> schrieb in im Newsbeitrag:
38EAE6F6.4F01@earthlink.net...
> Though not the original poster, I thank you very much for this lead.
> Amazing how simple searches did NOT reveal this book to me.
> Do you have any other recommendations?
>
> PLMK.
> Richard
>
>
> Victoria Wong wrote:
> >
> > Try "Bulletproof Installs -- A Developer's Guide to Install Programs for
> > Windows" by Leslie E. Easter.
> >
> > Sea Chong Seak wrote in message <38C5D95B.73E9046C@mimos.my>...
> > >hi, all,
> > >
> > > Have any book available for install shied 5 ? I need book for
> > >intermediate and advanced use of install shield.
> > >
> > >thank
> > >
> > >cssea
> > >