This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Runtime Error 9 - Subscript out of Range
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2009
11:41 AM
Runtime Error 9 - Subscript out of Range
Getting "Runetime Error 9 -- Subscript out of range" when I try to install one of my applications. I appreciate if somebody can help me get rid of this error. Here is the code:
////////////////////////////////////////////////////////////////////////////////
// File Name: Setup.rul
// Description: Retail COFEE InstallShield script
// Comments: This script performs the setup of Retail COFEE
////////////////////////////////////////////////////////////////////////////////
// Include header files
#include "sdlang.h"
#include "sddialog.h"
// include IUI rule files
#include "PSDS.H"
////////////////////// string defines ////////////////////////////
#define UNINST_LOGFILE_NAME "Uninst.isu"
#define WM_WININICHANGE 0x001A
#define HWND_BROADCAST 0xffff
//////////////////// installation declarations ///////////////////
// ----- DLL function prototypes -----
// your DLL function prototypes
// ---- script function prototypes -----
// generated by the Project Wizard
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 DialogShowSdAskDestPath();
prototype DialogShowSdFinishReboot();
// prototype IUIINST.crop(STRING, STRING, BYREF STRING, STRING);
// your script function prototypes
// ----- global variables ------
// generated by the Project Wizard
BOOL bIsWindowsNT4, bIsWindowsNT351, bIsWindows98, bIsWindows95;
BOOL bIsShellExplorer, bInstallAborted, bIs32BitSetup;
STRING svDir;
STRING svName, svCompany, svSerial;
STRING svDefGroup;
STRING szAppPath, svRES;
STRING svSetupType;
STRING substr1, substr;
INT nResult1, nLength; //
///////////////////////////////////////////////////////////////////////////////
// MAIN PROGRAM
// The setup begins here by hiding the visible setup
// window. This is done to allow all the titles, images, etc. to
// be established before showing the main window. The setup is
// then performed in a series of calls to script defined functions,
// with error checking at each step
///////////////////////////////////////////////////////////////////////////////
program
Disable( BACKGROUND );
CheckRequirements();
SetupInstall();
SetupScreen();
//Changed next line - Steve T. 10/5/00
if(CMDLINE != "PSDS") then
if (ShowDialogs()<0) goto end_install;
endif;
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;
DeleteFile("Uninstall.bat");
nResult1 = LaunchApp(TARGETDIR + "\\delreg.exe", "");
if (nResult1 < 0) then
MessageBox ("Unable to create Uninstall2.bat file!", SEVERE);
endif;
end_install:
CleanUpInstall();
// If an unrecoverable error occurred, clean up
// the partial installation. Otherwise, exit normally.
if (bInstallAborted) then
if(CMDLINE = "PSDS") then
IUIMsg(4, 3435, "Error =Installation failed.");
endif;
abort;
endif;
//Changed the next line Steve T. 10/5/00
if(CMDLINE = "PSDS") then
DoIUIFunction();
endif;
endprogram
#include "PSDS.RUL"
///////////////////////////////////////////////////////////////////////////////
// Function: ShowDialogs
// Purpose: This function manages the display and navigation of
// the standard dialogs that exist in a setup.
////////////////////////////////////////////////////////
function ShowDialogs()
NUMBER nResult;
begin
Dlg_Start:
Dlg_SdAskDestPath:
Disable (BACKBUTTON);
nResult = DialogShowSdAskDestPath();
if (nResult = BACK) goto Dlg_Start;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: ProcessBeforeDataMove
//
// Purpose: This function performs any necessary operations prior to the
// actual file transfer.
//
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
STRING svLogFile;
NUMBER nResult;
STRING ionaUninst;
STRING svUninst;
STRING svUninstPkg1;
STRING svUninstPkg2;
STRING svUninstPkg3;
STRING svUninstPkg4;
STRING svUninstPkg5;
STRING svUninstPkg6;
STRING szPath;
STRING svInstall;
LONG nvHandle;
begin
//Uninstall the old copy of the App and MTS packages
if Is(FILE_EXISTS,TARGETDIR + "\\uninstall3.bat") then
nResult = LaunchAppAndWait(TARGETDIR + "\\uninstall3.bat", "",WAIT);
if (nResult < 0) then
MessageBox ("Unable to Uninstall the old version!", SEVERE);
endif;
endif;
InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
svLogFile = UNINST_LOGFILE_NAME;
nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
if (nResult < 0) then
if(CMDLINE != "PSDS") then
MessageBox( @ERROR_UNINSTSETUP, WARNING );
else
IUIMsg(0, 3433, "UnInstaller Failed to Initialize error encountered");
endif;
endif;
szAppPath = TARGETDIR; // TO DO : if your application .exe is in a subfolder
// of TARGETDIR then add subfolder
if ((bIs32BitSetup) && (bIsShellExplorer)) then
RegDBSetItem( REGDB_APPPATH, szAppPath );
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
endif;
// TO DO : any other tasks you want to perform before file transfer
szPath = TARGETDIR;
nResult = LongPathToShortPath(szPath);
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: MoveFileData
// Purpose: This function handles the file transfer for
// the setup.
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
NUMBER nResult, nDisk;
begin
nDisk = 1;
SetStatusWindow( 0, "" );
Disable( DIALOGCACHE );
Enable( STATUS );
StatusUpdate( ON, 100 );
nResult = FeatureMoveData( MEDIA, nDisk, 1 );
HandleMoveDataError( nResult );
//Added 11/05/99 for installation of server MTS packages - Siva
nResult = LaunchApp(TARGETDIR + "\\Billing.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\BillingIMS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingIMS Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\crmds.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for crmds Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\BillingTax.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonCICS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonADJ.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonSecurity.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonRPS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonOST.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing Online Sales Tracking.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonMyTasksDS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing My Tasks.", SEVERE);
endif;
//addition ends
Disable( STATUS );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: HandleMoveDataError
//
// Purpose: This function handles the error (if any) during the file transfer
// operation.
//
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
STRING szErrMsg, svComponent , svFileGroup , svFile;
begin
svComponent = "";
svFileGroup = "";
svFile = "";
switch (nResult)
case 0:
return 0;
default:
FeatureError( MEDIA , svComponent , svFileGroup , svFile , nResult );
szErrMsg = @ERROR_MOVEDATA + "\n\n" +
@ERROR_COMPONENT + " " + svComponent + "\n" +
@ERROR_FILEGROUP + " " + svFileGroup + "\n" +
@ERROR_FILE + " " + svFile;
SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
bInstallAborted = TRUE;
return nResult;
endswitch;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: ProcessAfterDataMove
// Purpose: This function performs any necessary operations needed after
// all files have been transferred.
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
STRING szReferenceFile, szMsg;
begin
// TO DO : update self-registered files and other processes that
// should be performed after the files have been transferred.
// If you are installing self-registering files using the
// batch method, remove the slashes from the lines below:
if Do ( SELFREGISTRATIONPROCESS ) < 0 then
szMsg = "File(s) failed to self-register: \n" + ERRORFILENAME;
MessageBox (szMsg, WARNING);
endif;
szReferenceFile = svDir ^ @PRODUCT_KEY; // TO DO : If your file is in a
// subfolder of svDir add that here
DeinstallSetReference( szReferenceFile );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupRegistry
// Purpose: This function makes the registry entries for this setup.
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
NUMBER nResult;
NUMBER nSize;
NUMBER nType;
STRING szKey;
STRING szValue;
STRING szBuff;
STRING nvSize;
STRING szDelimiterSet;
LIST listID;
NUMBER nvItem;
STRING szEnv;
POINTER pEnv;
begin
// TO DO : Add all your registry entry keys here.
// Call registry functions and/or create keys from
// the InstallShield IDE's Resources pane.
// Set the root key to HKEY_LOCAL_MACHINE.
nResult = RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
if (nResult < 0) then
MessageBox ("Unable to set the registry to HKEY_LOCAL_MACHINE", SEVERE);
return nResult;
endif;
// Set environment variables
szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
nResult = RegDBSetKeyValueEx (szKey, "IT_CONFIG_PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Config", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_CONFIG_PATH environment variable failed.", SEVERE);
endif;
nResult = RegDBSetKeyValueEx (szKey, "IT_IONA_CONFIG_FILE", REGDB_STRING, "C:\\Program Files\\IONA\\Config\\iona.cfg", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_IONA_CONFIG_FILE environment variable failed.", SEVERE);
endif;
nResult = RegDBSetKeyValueEx (szKey, "IT_SSL_CONFIG_PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Config", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_SSL_CONFIG_PATH environment variable failed.", SEVERE);
endif;
// Set Path and Lib env vars
nResult = RegDBGetKeyValueEx(szKey, "PATH", nType, szValue, nSize);
if (nResult < 0) then
// PATH not found - create it
RegDBSetKeyValueEx (szKey, "PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Bin", -1);
//RegDBSetKeyValueEx (szKey, "PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Bin;C:\\Program Files\\MQSeries Client\\bin;C:\\ta_arch\\dll;C:\\Program Files\\Java\\jre1.5.0_11\\bin;"+ WINDIR + "system32;" + WINDIR + "system32\\wbem;C:\\Program Files\\Utimaco\\SafeGuard Easy;C:\\Program Files\\Attachmate\\EPC;C:\\Program Files\\QuickTime\\QTSystem;C:\\PROGRA~1\DISKEE~1\\DISKEE~2", -1);
else
szDelimiterSet = ";";
listID = ListCreate( STRINGLIST );
StrGetTokens( listID, szValue, szDelimiterSet );
// Make the first list element the current element
// so ListFindItem will search from the top of the list.
ListSetIndex (listID, 0);
// Search the list for the folder name entered by the user.
// Reminder: The string comparison is case sensitive.
nResult = ListFindString (listID, "C:\\Program Files\\IONA\\Bin");
// Report the search result.
if (nResult < 0) then
MessageBox ("ListFindString failed for Orbix/Bin.", SEVERE);
elseif (nResult = END_OF_LIST) then
//The next line has been replaced by Rk 10-18-2007
//szBuff = szValue + ";C:\\Program Files\\IONA\\Bin";
szBuff = "C:\\Program Files\\IONA\\Bin" + ";" + szValue;
nResult = RegDBSetKeyValueEx (szKey, "Path", REGDB_STRING_EXPAND, szBuff, -1);
elseif (nResult = 0) then
// Leave the path untouched since we found the element in path
endif;
endif;
nResult = RegDBGetKeyValueEx(szKey, "Lib", nType, szValue, nSize);
if (nResult < 0) then
RegDBSetKeyValueEx (szKey, "LIB", REGDB_STRING, "C:\\Program Files\\IONA\\Lib", -1);
else
szDelimiterSet = ";";
listID = ListCreate( STRINGLIST );
StrGetTokens( listID, szValue, szDelimiterSet );
// Make the first list element the current element
// so ListFindItem will search from the top of the list.
ListSetIndex (listID, 0);
// Search the list for the folder name entered by the user.
// Reminder: The string comparison is case sensitive.
nResult = ListFindString (listID, "C:\\Program Files\\IONA\\Lib");
// Report the search result.
if (nResult < 0) then
MessageBox ("ListFindString failed for Orbix/Lib.", SEVERE);
elseif (nResult = END_OF_LIST) then
//The next line has been replaced by RK on 10-18-2007
//szBuff = szValue + ";C:\\Program Files\\IONA\\Bin";
szBuff ="C:\\Program Files\\IONA\\Lib" + ";" + szValue;
nResult = RegDBSetKeyValueEx (szKey, "Lib", REGDB_STRING, szBuff, -1);
elseif (nResult = 0) then
// Leave the path untouched since we found the element in path
endif;
endif;
// Flush the NT registry to all applications.
szEnv = "Environment";
pEnv = &szEnv;
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, pEnv );
// Done with path and lib settings, so turn logging back on.
Enable(LOGGING);
szKey = "SOFTWARE\\Microsoft\\Internet Explorer\\Main";
nResult = RegDBCreateKeyEx(szKey, "");
if (nResult < 0) then
MessageBox ("Registry creation for Microsoft Internet Explorer failed.", SEVERE);
endif;
// Now we can set all of the values underneath the key
// Set a key name and a value associated with it.
nResult = RegDBSetKeyValueEx (szKey, "Check_Associations", REGDB_STRING, "no", -1);
if (nResult < 0) then
MessageBox ("Registry creation for Check_Associations failed.", SEVERE);
endif;
// edited by Hari Ramasubbu 03/26/2002 onto reduce the code in the script and add them to the
//registry file
//LaunchAppAndWait("regedit.exe","/i /s \""+SRCDIR+"\\RetailCofee.reg \"",WAIT);
LaunchAppAndWait("regedit.exe","/i /s \""+TARGETDIR+"\\RetailCofee.reg \"",WAIT);
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupFolders
//
// Purpose: This function creates all the folders and shortcuts for the
// setup. This includes program groups and items for Windows 3.1.
//
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
NUMBER nResult;
STRING szPath;
begin
// TO DO : Add all your folders (or program groups) along with shortcuts (or
// program items). Call CreateProgramFolder and AddFolderIcon, and/or create
// shortcuts etc. from the InstallShield IDE's Resources pane.
//
// Note : for 16-bit setups you should add an uninstaller icon pointing to
// your log file. Under 32-bit this is automatically done by Windows.
szPath = TARGETDIR ^ @PRODUCT_KEY;
LongPathToQuote ( szPath, TRUE );
// Set the command string for the application icon.
FeatureSetTarget( MEDIA, "", szPath);
//szPath = TARGETDIR ^ "Retail COFEE Help.chm";
szPath = "\"C:\\Program Files\\Internet Explorer\\Iexplore.exe\" http://rcftscst01.ebiz.verizon.com:8080/webhelp/RetailCOFEE.htm";
FeatureSetTarget( MEDIA, "", szPath);
nResult = CreateShellObjects( "" );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: CleanUpInstall
//
// Purpose: This cleans up the setup. Anything that should
// be released or deleted at the end of the setup should
// be done here.
//
///////////////////////////////////////////////////////////////////////////////
function CleanUpInstall()
STRING svSearchPath;
STRING svAppPath;
begin
// moeman if (bInstallAborted) then
// return 0;
// endif;
LaunchApp ("C:\\WINNT\\system32\\regsvr32.exe" , ' /s "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll"');
// ****** Register SIS
if (ChangeDirectory(PROGRAMFILES ^ "\\IONA\\Bin") < 0 ) then
MessageBox ("Unable to change directory to IONA\\bin", SEVERE);
endif;
LaunchAppAndWait("/i /s \""+TARGETDIR+"\\regfiles.bat", "",WAIT);
LaunchApp(TARGETDIR ^ "ONFManagerInstall.bat","");
LaunchApp(TARGETDIR ^ "ACEIntegratorInstall.bat","");
LaunchApp(TARGETDIR ^ "CopyScript.bat","");
LaunchAppAndWait(TARGETDIR + "\\CofeeWestClientSetup.bat", "",WAIT);
//Modified by Jay Bartholomew for new variable - confirmation of PSDS install
if (CMDLINE != "PSDS") then
DialogShowSdFinishReboot();
endif;
if (BATCH_INSTALL) then // ensure locked files are properly transferred
CommitSharedFiles(0);
endif;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupInstall
//
// Purpose: This will initialize the setup. Any general initialization
// needed for the installation should be performed here.
//
///////////////////////////////////////////////////////////////////////////////
function SetupInstall()
begin
Enable( CORECOMPONENTHANDLING );
bInstallAborted = FALSE;
// Create list of end user selections to be displayed by DialogShowSdStartCopy() //
if (bIs32BitSetup) then
svDir = PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
else
svDir = PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use short names
endif;
TARGETDIR = svDir;
SdProductName( @PRODUCT_NAME );
Enable( DIALOGCACHE );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: SetupScreen
// Purpose: This function establishes the screen look. This includes
// colors, fonts, and text to be displayed.
///////////////////////////////////////////////////////////////////////////////
function SetupScreen()
begin
Enable( FULLWINDOWMODE );
Enable( INDVFILESTATUS );
SetTitle( @TITLE_MAIN, 24, WHITE );
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
Enable( BACKGROUND );
Delay( 1 );
end;
///////////////////////////////////////////////////////////////////////////////
// Function: CheckRequirements
// Purpose: This function checks all minimum requirements for the
// application being installed. If any fail, then the user
// is informed and the setup is terminated.
///////////////////////////////////////////////////////////////////////////////
function CheckRequirements()
NUMBER nvDx, nvDy, nvResult;
STRING svResult;
begin
bIsShellExplorer = FALSE;
bIsWindowsNT4 = FALSE;
bIsWindowsNT351 = FALSE;
bIsWindows95 = FALSE;
bIsWindows98 = FALSE;
// Check screen resolution.
GetExtents( nvDx, nvDy );
if (nvDy < 480) then
MessageBox( @ERROR_VGARESOLUTION, WARNING );
abort;
endif;
// Set 'setup' operation mode
bIs32BitSetup = TRUE;
GetSystemInfo( ISTYPE, nvResult, svResult );
if (nvResult = 16) then
bIs32BitSetup = FALSE; // running 16-bit setup
return 0; // no additional information required
endif;
// --- 32-bit testing after this point ---
// Determine the target system's operating system.
GetSystemInfo( OS, nvResult, svResult );
if (nvResult = IS_WINDOWSNT) then
// Check to see if OS is Windows NT 4.0 or Windows NT 3.51,
// and if the shell being used is the Explorer shell.
if (GetSystemInfo( WINMAJOR, nvResult, svResult ) = 0) then
if (nvResult >= 4) then
bIsShellExplorer = TRUE;
bIsWindowsNT4 = TRUE;
else
bIsWindowsNT351 = TRUE;
endif;
endif;
elseif (nvResult = IS_WINDOWS9X) then
bIsShellExplorer = TRUE;
// Check to see if OS is Windows 95 or Windows 98
GetSystemInfo (WINMINOR, nvResult, svResult);
if (nvResult < 10) then
bIsWindows95 = TRUE;
else
bIsWindows98 = TRUE;
endif;
endif;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: DialogShowSdWelcome
// Purpose: This function handles the standard welcome dialog.
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdWelcome()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "";
szMsg = "";
nResult = SdWelcome( szTitle, szMsg )
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: DialogShowSdAskDestPath
// Purpose: This function asks the user for the destination folder.
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdAskDestPath()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "Retail COFEE Installation";
szMsg = "Choose the destination of the Retail COFEE application.";
nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
TARGETDIR = svDir;
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;
end;
// --- include script file section ---
#include "sddialog.rul"
////////////////////////////////////////////////////////////////////////////////
// File Name: Setup.rul
// Description: Retail COFEE InstallShield script
// Comments: This script performs the setup of Retail COFEE
////////////////////////////////////////////////////////////////////////////////
// Include header files
#include "sdlang.h"
#include "sddialog.h"
// include IUI rule files
#include "PSDS.H"
////////////////////// string defines ////////////////////////////
#define UNINST_LOGFILE_NAME "Uninst.isu"
#define WM_WININICHANGE 0x001A
#define HWND_BROADCAST 0xffff
//////////////////// installation declarations ///////////////////
// ----- DLL function prototypes -----
// your DLL function prototypes
// ---- script function prototypes -----
// generated by the Project Wizard
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 DialogShowSdAskDestPath();
prototype DialogShowSdFinishReboot();
// prototype IUIINST.crop(STRING, STRING, BYREF STRING, STRING);
// your script function prototypes
// ----- global variables ------
// generated by the Project Wizard
BOOL bIsWindowsNT4, bIsWindowsNT351, bIsWindows98, bIsWindows95;
BOOL bIsShellExplorer, bInstallAborted, bIs32BitSetup;
STRING svDir;
STRING svName, svCompany, svSerial;
STRING svDefGroup;
STRING szAppPath, svRES;
STRING svSetupType;
STRING substr1, substr;
INT nResult1, nLength; //
///////////////////////////////////////////////////////////////////////////////
// MAIN PROGRAM
// The setup begins here by hiding the visible setup
// window. This is done to allow all the titles, images, etc. to
// be established before showing the main window. The setup is
// then performed in a series of calls to script defined functions,
// with error checking at each step
///////////////////////////////////////////////////////////////////////////////
program
Disable( BACKGROUND );
CheckRequirements();
SetupInstall();
SetupScreen();
//Changed next line - Steve T. 10/5/00
if(CMDLINE != "PSDS") then
if (ShowDialogs()<0) goto end_install;
endif;
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;
DeleteFile("Uninstall.bat");
nResult1 = LaunchApp(TARGETDIR + "\\delreg.exe", "");
if (nResult1 < 0) then
MessageBox ("Unable to create Uninstall2.bat file!", SEVERE);
endif;
end_install:
CleanUpInstall();
// If an unrecoverable error occurred, clean up
// the partial installation. Otherwise, exit normally.
if (bInstallAborted) then
if(CMDLINE = "PSDS") then
IUIMsg(4, 3435, "Error =Installation failed.");
endif;
abort;
endif;
//Changed the next line Steve T. 10/5/00
if(CMDLINE = "PSDS") then
DoIUIFunction();
endif;
endprogram
#include "PSDS.RUL"
///////////////////////////////////////////////////////////////////////////////
// Function: ShowDialogs
// Purpose: This function manages the display and navigation of
// the standard dialogs that exist in a setup.
////////////////////////////////////////////////////////
function ShowDialogs()
NUMBER nResult;
begin
Dlg_Start:
Dlg_SdAskDestPath:
Disable (BACKBUTTON);
nResult = DialogShowSdAskDestPath();
if (nResult = BACK) goto Dlg_Start;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: ProcessBeforeDataMove
//
// Purpose: This function performs any necessary operations prior to the
// actual file transfer.
//
///////////////////////////////////////////////////////////////////////////////
function ProcessBeforeDataMove()
STRING svLogFile;
NUMBER nResult;
STRING ionaUninst;
STRING svUninst;
STRING svUninstPkg1;
STRING svUninstPkg2;
STRING svUninstPkg3;
STRING svUninstPkg4;
STRING svUninstPkg5;
STRING svUninstPkg6;
STRING szPath;
STRING svInstall;
LONG nvHandle;
begin
//Uninstall the old copy of the App and MTS packages
if Is(FILE_EXISTS,TARGETDIR + "\\uninstall3.bat") then
nResult = LaunchAppAndWait(TARGETDIR + "\\uninstall3.bat", "",WAIT);
if (nResult < 0) then
MessageBox ("Unable to Uninstall the old version!", SEVERE);
endif;
endif;
InstallationInfo( @COMPANY_NAME, @PRODUCT_NAME, @PRODUCT_VERSION, @PRODUCT_KEY );
svLogFile = UNINST_LOGFILE_NAME;
nResult = DeinstallStart( svDir, svLogFile, @UNINST_KEY, 0 );
if (nResult < 0) then
if(CMDLINE != "PSDS") then
MessageBox( @ERROR_UNINSTSETUP, WARNING );
else
IUIMsg(0, 3433, "UnInstaller Failed to Initialize error encountered");
endif;
endif;
szAppPath = TARGETDIR; // TO DO : if your application .exe is in a subfolder
// of TARGETDIR then add subfolder
if ((bIs32BitSetup) && (bIsShellExplorer)) then
RegDBSetItem( REGDB_APPPATH, szAppPath );
RegDBSetItem( REGDB_APPPATH_DEFAULT, szAppPath ^ @PRODUCT_KEY );
RegDBSetItem( REGDB_UNINSTALL_NAME, @UNINST_DISPLAY_NAME );
endif;
// TO DO : any other tasks you want to perform before file transfer
szPath = TARGETDIR;
nResult = LongPathToShortPath(szPath);
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: MoveFileData
// Purpose: This function handles the file transfer for
// the setup.
///////////////////////////////////////////////////////////////////////////////
function MoveFileData()
NUMBER nResult, nDisk;
begin
nDisk = 1;
SetStatusWindow( 0, "" );
Disable( DIALOGCACHE );
Enable( STATUS );
StatusUpdate( ON, 100 );
nResult = FeatureMoveData( MEDIA, nDisk, 1 );
HandleMoveDataError( nResult );
//Added 11/05/99 for installation of server MTS packages - Siva
nResult = LaunchApp(TARGETDIR + "\\Billing.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\BillingIMS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingIMS Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\crmds.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for crmds Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\BillingTax.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonCICS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonADJ.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonSecurity.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonRPS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for BillingTax Data Services.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonOST.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing Online Sales Tracking.", SEVERE);
endif;
nResult = LaunchApp(TARGETDIR + "\\VerizonMyTasksDS.exe", "");
if (nResult < 0) then
MessageBox ("Unable to Create the Remote Entries for Billing My Tasks.", SEVERE);
endif;
//addition ends
Disable( STATUS );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: HandleMoveDataError
//
// Purpose: This function handles the error (if any) during the file transfer
// operation.
//
///////////////////////////////////////////////////////////////////////////////
function HandleMoveDataError( nResult )
STRING szErrMsg, svComponent , svFileGroup , svFile;
begin
svComponent = "";
svFileGroup = "";
svFile = "";
switch (nResult)
case 0:
return 0;
default:
FeatureError( MEDIA , svComponent , svFileGroup , svFile , nResult );
szErrMsg = @ERROR_MOVEDATA + "\n\n" +
@ERROR_COMPONENT + " " + svComponent + "\n" +
@ERROR_FILEGROUP + " " + svFileGroup + "\n" +
@ERROR_FILE + " " + svFile;
SprintfBox( SEVERE, @TITLE_CAPTIONBAR, szErrMsg, nResult );
bInstallAborted = TRUE;
return nResult;
endswitch;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: ProcessAfterDataMove
// Purpose: This function performs any necessary operations needed after
// all files have been transferred.
///////////////////////////////////////////////////////////////////////////////
function ProcessAfterDataMove()
STRING szReferenceFile, szMsg;
begin
// TO DO : update self-registered files and other processes that
// should be performed after the files have been transferred.
// If you are installing self-registering files using the
// batch method, remove the slashes from the lines below:
if Do ( SELFREGISTRATIONPROCESS ) < 0 then
szMsg = "File(s) failed to self-register: \n" + ERRORFILENAME;
MessageBox (szMsg, WARNING);
endif;
szReferenceFile = svDir ^ @PRODUCT_KEY; // TO DO : If your file is in a
// subfolder of svDir add that here
DeinstallSetReference( szReferenceFile );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupRegistry
// Purpose: This function makes the registry entries for this setup.
///////////////////////////////////////////////////////////////////////////////
function SetupRegistry()
NUMBER nResult;
NUMBER nSize;
NUMBER nType;
STRING szKey;
STRING szValue;
STRING szBuff;
STRING nvSize;
STRING szDelimiterSet;
LIST listID;
NUMBER nvItem;
STRING szEnv;
POINTER pEnv;
begin
// TO DO : Add all your registry entry keys here.
// Call registry functions and/or create keys from
// the InstallShield IDE's Resources pane.
// Set the root key to HKEY_LOCAL_MACHINE.
nResult = RegDBSetDefaultRoot (HKEY_LOCAL_MACHINE);
if (nResult < 0) then
MessageBox ("Unable to set the registry to HKEY_LOCAL_MACHINE", SEVERE);
return nResult;
endif;
// Set environment variables
szKey = "SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment";
nResult = RegDBSetKeyValueEx (szKey, "IT_CONFIG_PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Config", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_CONFIG_PATH environment variable failed.", SEVERE);
endif;
nResult = RegDBSetKeyValueEx (szKey, "IT_IONA_CONFIG_FILE", REGDB_STRING, "C:\\Program Files\\IONA\\Config\\iona.cfg", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_IONA_CONFIG_FILE environment variable failed.", SEVERE);
endif;
nResult = RegDBSetKeyValueEx (szKey, "IT_SSL_CONFIG_PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Config", -1);
if (nResult < 0) then
MessageBox ("Registry setting of the IT_SSL_CONFIG_PATH environment variable failed.", SEVERE);
endif;
// Set Path and Lib env vars
nResult = RegDBGetKeyValueEx(szKey, "PATH", nType, szValue, nSize);
if (nResult < 0) then
// PATH not found - create it
RegDBSetKeyValueEx (szKey, "PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Bin", -1);
//RegDBSetKeyValueEx (szKey, "PATH", REGDB_STRING, "C:\\Program Files\\IONA\\Bin;C:\\Program Files\\MQSeries Client\\bin;C:\\ta_arch\\dll;C:\\Program Files\\Java\\jre1.5.0_11\\bin;"+ WINDIR + "system32;" + WINDIR + "system32\\wbem;C:\\Program Files\\Utimaco\\SafeGuard Easy;C:\\Program Files\\Attachmate\\EPC;C:\\Program Files\\QuickTime\\QTSystem;C:\\PROGRA~1\DISKEE~1\\DISKEE~2", -1);
else
szDelimiterSet = ";";
listID = ListCreate( STRINGLIST );
StrGetTokens( listID, szValue, szDelimiterSet );
// Make the first list element the current element
// so ListFindItem will search from the top of the list.
ListSetIndex (listID, 0);
// Search the list for the folder name entered by the user.
// Reminder: The string comparison is case sensitive.
nResult = ListFindString (listID, "C:\\Program Files\\IONA\\Bin");
// Report the search result.
if (nResult < 0) then
MessageBox ("ListFindString failed for Orbix/Bin.", SEVERE);
elseif (nResult = END_OF_LIST) then
//The next line has been replaced by Rk 10-18-2007
//szBuff = szValue + ";C:\\Program Files\\IONA\\Bin";
szBuff = "C:\\Program Files\\IONA\\Bin" + ";" + szValue;
nResult = RegDBSetKeyValueEx (szKey, "Path", REGDB_STRING_EXPAND, szBuff, -1);
elseif (nResult = 0) then
// Leave the path untouched since we found the element in path
endif;
endif;
nResult = RegDBGetKeyValueEx(szKey, "Lib", nType, szValue, nSize);
if (nResult < 0) then
RegDBSetKeyValueEx (szKey, "LIB", REGDB_STRING, "C:\\Program Files\\IONA\\Lib", -1);
else
szDelimiterSet = ";";
listID = ListCreate( STRINGLIST );
StrGetTokens( listID, szValue, szDelimiterSet );
// Make the first list element the current element
// so ListFindItem will search from the top of the list.
ListSetIndex (listID, 0);
// Search the list for the folder name entered by the user.
// Reminder: The string comparison is case sensitive.
nResult = ListFindString (listID, "C:\\Program Files\\IONA\\Lib");
// Report the search result.
if (nResult < 0) then
MessageBox ("ListFindString failed for Orbix/Lib.", SEVERE);
elseif (nResult = END_OF_LIST) then
//The next line has been replaced by RK on 10-18-2007
//szBuff = szValue + ";C:\\Program Files\\IONA\\Bin";
szBuff ="C:\\Program Files\\IONA\\Lib" + ";" + szValue;
nResult = RegDBSetKeyValueEx (szKey, "Lib", REGDB_STRING, szBuff, -1);
elseif (nResult = 0) then
// Leave the path untouched since we found the element in path
endif;
endif;
// Flush the NT registry to all applications.
szEnv = "Environment";
pEnv = &szEnv;
SendMessage (HWND_BROADCAST, WM_WININICHANGE, 0, pEnv );
// Done with path and lib settings, so turn logging back on.
Enable(LOGGING);
szKey = "SOFTWARE\\Microsoft\\Internet Explorer\\Main";
nResult = RegDBCreateKeyEx(szKey, "");
if (nResult < 0) then
MessageBox ("Registry creation for Microsoft Internet Explorer failed.", SEVERE);
endif;
// Now we can set all of the values underneath the key
// Set a key name and a value associated with it.
nResult = RegDBSetKeyValueEx (szKey, "Check_Associations", REGDB_STRING, "no", -1);
if (nResult < 0) then
MessageBox ("Registry creation for Check_Associations failed.", SEVERE);
endif;
// edited by Hari Ramasubbu 03/26/2002 onto reduce the code in the script and add them to the
//registry file
//LaunchAppAndWait("regedit.exe","/i /s \""+SRCDIR+"\\RetailCofee.reg \"",WAIT);
LaunchAppAndWait("regedit.exe","/i /s \""+TARGETDIR+"\\RetailCofee.reg \"",WAIT);
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupFolders
//
// Purpose: This function creates all the folders and shortcuts for the
// setup. This includes program groups and items for Windows 3.1.
//
///////////////////////////////////////////////////////////////////////////////
function SetupFolders()
NUMBER nResult;
STRING szPath;
begin
// TO DO : Add all your folders (or program groups) along with shortcuts (or
// program items). Call CreateProgramFolder and AddFolderIcon, and/or create
// shortcuts etc. from the InstallShield IDE's Resources pane.
//
// Note : for 16-bit setups you should add an uninstaller icon pointing to
// your log file. Under 32-bit this is automatically done by Windows.
szPath = TARGETDIR ^ @PRODUCT_KEY;
LongPathToQuote ( szPath, TRUE );
// Set the command string for the application icon.
FeatureSetTarget( MEDIA, "
//szPath = TARGETDIR ^ "Retail COFEE Help.chm";
szPath = "\"C:\\Program Files\\Internet Explorer\\Iexplore.exe\" http://rcftscst01.ebiz.verizon.com:8080/webhelp/RetailCOFEE.htm";
FeatureSetTarget( MEDIA, "
nResult = CreateShellObjects( "" );
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: CleanUpInstall
//
// Purpose: This cleans up the setup. Anything that should
// be released or deleted at the end of the setup should
// be done here.
//
///////////////////////////////////////////////////////////////////////////////
function CleanUpInstall()
STRING svSearchPath;
STRING svAppPath;
begin
// moeman if (bInstallAborted) then
// return 0;
// endif;
LaunchApp ("C:\\WINNT\\system32\\regsvr32.exe" , ' /s "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll"');
// ****** Register SIS
if (ChangeDirectory(PROGRAMFILES ^ "\\IONA\\Bin") < 0 ) then
MessageBox ("Unable to change directory to IONA\\bin", SEVERE);
endif;
LaunchAppAndWait("/i /s \""+TARGETDIR+"\\regfiles.bat", "",WAIT);
LaunchApp(TARGETDIR ^ "ONFManagerInstall.bat","");
LaunchApp(TARGETDIR ^ "ACEIntegratorInstall.bat","");
LaunchApp(TARGETDIR ^ "CopyScript.bat","");
LaunchAppAndWait(TARGETDIR + "\\CofeeWestClientSetup.bat", "",WAIT);
//Modified by Jay Bartholomew for new variable - confirmation of PSDS install
if (CMDLINE != "PSDS") then
DialogShowSdFinishReboot();
endif;
if (BATCH_INSTALL) then // ensure locked files are properly transferred
CommitSharedFiles(0);
endif;
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
//
// Function: SetupInstall
//
// Purpose: This will initialize the setup. Any general initialization
// needed for the installation should be performed here.
//
///////////////////////////////////////////////////////////////////////////////
function SetupInstall()
begin
Enable( CORECOMPONENTHANDLING );
bInstallAborted = FALSE;
// Create list of end user selections to be displayed by DialogShowSdStartCopy() //
if (bIs32BitSetup) then
svDir = PROGRAMFILES ^ @COMPANY_NAME ^ @PRODUCT_NAME;
else
svDir = PROGRAMFILES ^ @COMPANY_NAME16 ^ @PRODUCT_NAME16; // use short names
endif;
TARGETDIR = svDir;
SdProductName( @PRODUCT_NAME );
Enable( DIALOGCACHE );
return 0;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: SetupScreen
// Purpose: This function establishes the screen look. This includes
// colors, fonts, and text to be displayed.
///////////////////////////////////////////////////////////////////////////////
function SetupScreen()
begin
Enable( FULLWINDOWMODE );
Enable( INDVFILESTATUS );
SetTitle( @TITLE_MAIN, 24, WHITE );
SetTitle( @TITLE_CAPTIONBAR, 0, BACKGROUNDCAPTION ); // Caption bar text.
Enable( BACKGROUND );
Delay( 1 );
end;
///////////////////////////////////////////////////////////////////////////////
// Function: CheckRequirements
// Purpose: This function checks all minimum requirements for the
// application being installed. If any fail, then the user
// is informed and the setup is terminated.
///////////////////////////////////////////////////////////////////////////////
function CheckRequirements()
NUMBER nvDx, nvDy, nvResult;
STRING svResult;
begin
bIsShellExplorer = FALSE;
bIsWindowsNT4 = FALSE;
bIsWindowsNT351 = FALSE;
bIsWindows95 = FALSE;
bIsWindows98 = FALSE;
// Check screen resolution.
GetExtents( nvDx, nvDy );
if (nvDy < 480) then
MessageBox( @ERROR_VGARESOLUTION, WARNING );
abort;
endif;
// Set 'setup' operation mode
bIs32BitSetup = TRUE;
GetSystemInfo( ISTYPE, nvResult, svResult );
if (nvResult = 16) then
bIs32BitSetup = FALSE; // running 16-bit setup
return 0; // no additional information required
endif;
// --- 32-bit testing after this point ---
// Determine the target system's operating system.
GetSystemInfo( OS, nvResult, svResult );
if (nvResult = IS_WINDOWSNT) then
// Check to see if OS is Windows NT 4.0 or Windows NT 3.51,
// and if the shell being used is the Explorer shell.
if (GetSystemInfo( WINMAJOR, nvResult, svResult ) = 0) then
if (nvResult >= 4) then
bIsShellExplorer = TRUE;
bIsWindowsNT4 = TRUE;
else
bIsWindowsNT351 = TRUE;
endif;
endif;
elseif (nvResult = IS_WINDOWS9X) then
bIsShellExplorer = TRUE;
// Check to see if OS is Windows 95 or Windows 98
GetSystemInfo (WINMINOR, nvResult, svResult);
if (nvResult < 10) then
bIsWindows95 = TRUE;
else
bIsWindows98 = TRUE;
endif;
endif;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: DialogShowSdWelcome
// Purpose: This function handles the standard welcome dialog.
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdWelcome()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "";
szMsg = "";
nResult = SdWelcome( szTitle, szMsg )
return nResult;
end;
///////////////////////////////////////////////////////////////////////////////
// Function: DialogShowSdAskDestPath
// Purpose: This function asks the user for the destination folder.
///////////////////////////////////////////////////////////////////////////////
function DialogShowSdAskDestPath()
NUMBER nResult;
STRING szTitle, szMsg;
begin
szTitle = "Retail COFEE Installation";
szMsg = "Choose the destination of the Retail COFEE application.";
nResult = SdAskDestPath( szTitle, szMsg, svDir, 0 );
TARGETDIR = svDir;
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;
end;
// --- include script file section ---
#include "sddialog.rul"
(4) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2009
01:43 PM
It is little difficult to just go through the code and find the problem.
I would suggest you to insert MessageBox() in your code in few places to know where exactly the error comes and then it would be easy to identify the cause of the error.
I would suggest you to insert MessageBox() in your code in few places to know where exactly the error comes and then it would be easy to identify the cause of the error.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2009
04:31 PM
Thanks A. J. the error is happening in the MoveFileData function
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 06, 2009
09:47 AM
Can you check the call of FeatureMoveData() function in MoveFileData() function.
3rd argument for it should be 0 and not 1. Try making that change and see if it works out coz rest of the function is simple and straight with calls for LaunchApp().
The only thing that can throw error here is FeatureMoveData() function.
3rd parameter for FeatureMoveData() is reserved and cannot be other then 0. Try it
3rd argument for it should be 0 and not 1. Try making that change and see if it works out coz rest of the function is simple and straight with calls for LaunchApp().
The only thing that can throw error here is FeatureMoveData() function.
3rd parameter for FeatureMoveData() is reserved and cannot be other then 0. Try it
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 10, 2009
09:08 AM
Thanks A. J. That wasn't the bad code but I was able to find the line of code causing the problem.