MDAC 2.8 for IS Professional 6.10
Posted 11 March 2009 - 07:13
How to include MDAC 2.8, plz help me
Posted 11 March 2009 - 14:25
For MDAC 2.8, you'll want to pass the setup arguments of "/q:a /c:\"dasetup.exe /q /n\"" meaning silent install without automatically restarting the system.
Posted 12 March 2009 - 02:28
As I know, in the InstallScript
#define REG_KEY_MDAC_PATH "SOFTWARE\\Microsoft\\DataAccess"
RegDBSetDefaultRoot( HKEY_LOCAL_MACHINE );
if ( RegDBKeyExist( REG_KEY_MDAC_PATH ) < 0 ) then
// not has any MDAC
if( AskYesNo("Install required Microsoft Data Access Components?", YES) = YES ) then
nResult = LaunchAppAndWait ( SRCDIR^ "MDAC_TYP.EXE", "/q:a /c:\"dasetup.exe /q /n\"", WAIT );
// parameter /n (question 2)
if( nResult < 0 ) then
MessageBox ("WARNING: Unable to launch", WARNING);
// MDAC installed
szNumName = "FullInstallVer";
if (RegDBGetKeyValueEx (REG_KEY_MDAC_PATH, szNumName, nvType, svNumValue, nvSize) < 0) then
MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
szMsg = "%s has value: %s\n\nThis data is %d bytes.";
SprintfBox (INFORMATION, "QQQ", szMsg, szNumName, svNumValue, nvSize);
// I has version of MDAC = svNumValue
// I need to check version here (question 3)
1. This code is OK ?
2. When you LaunchAppAndWait "/q:a /c:\"dasetup.exe /q /n\""
The parameter is /q /q:u /q:a /t:path /c /c:path /r:n /r:i /r:a /r:s /n:v
but in your command line the parameter is /n . What /n is it mean ?
3. I want to install MDAC 2.81.1117.0 but if the client has installed 2.81.1132.0
How to check it ( convert it to NUMBER and compare ) ?
Posted 12 March 2009 - 03:09
String compare String, it's OK ( 2.81.1117.0 < 2.81.1132.0 )
Posted 12 March 2009 - 06:13
1. Is there any command to force the computer restart ?
2. This command I have to set where ? I see Dlg_Start, Dlg_SdWelcome. ... Dlg_SdStartCopy in function OnFirstUIBefore, but I don't see Dlg_Finish
Posted 12 March 2009 - 15:45
Also, I partially described the switches in my original reply, but the /q switch that's passed to extracted dasetup.exe tells it to perform a silent installation and the /n switch tells it to not automatically restart the system.
To answer your latter questions, I would recommend you add a global variable (e.g. BOOL bReboot) for keeping track as to whether or not a reboot is needed.
Then, in the OnFirstUIAfter event which contains all of post-install code, you'll find Dlg_Finish where you can conditionalize whether the displayed finish screen is either SdFinish -or- SdFinishReboot and, in the latter case, pass it a default option of SYS_BOOTMACHINE.
Posted 13 March 2009 - 03:03