I installed IS Professional 6.10 but it support MDAC v2.1 Object.
How to include MDAC 2.8, plz help me
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
MDAC 2.8 for IS Professional 6.10
Started by
bongsactu
, Mar 11 2009 07:13
7 replies to this topic
Posted 11 March 2009 - 14:25
Use Microsoft's MDAC redistributable instead by adding it to your project's support directory files and then running it from your InstallScript code.
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.
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
Tks for your help, I just want to confirm
As I know, in the InstallScript
#define REG_KEY_MDAC_PATH "SOFTWARE\\Microsoft\\DataAccess"
function OnFirstUIBefore()
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);
goto end_install;
endif;
else
goto end_install;
endif;
else
// MDAC installed
szNumName = "FullInstallVer";
if (RegDBGetKeyValueEx (REG_KEY_MDAC_PATH, szNumName, nvType, svNumValue, nvSize) < 0) then
MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
goto end_install;
else
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)
endif;
endif;
end_install:
abort;
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 ) ?
As I know, in the InstallScript
#define REG_KEY_MDAC_PATH "SOFTWARE\\Microsoft\\DataAccess"
function OnFirstUIBefore()
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);
goto end_install;
endif;
else
goto end_install;
endif;
else
// MDAC installed
szNumName = "FullInstallVer";
if (RegDBGetKeyValueEx (REG_KEY_MDAC_PATH, szNumName, nvType, svNumValue, nvSize) < 0) then
MessageBox ("RegDBGetKeyValueEx failed.", SEVERE);
goto end_install;
else
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)
endif;
endif;
end_install:
abort;
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
about question 3:
String compare String, it's OK ( 2.81.1117.0 < 2.81.1132.0 )
String compare String, it's OK ( 2.81.1117.0 < 2.81.1132.0 )
Posted 12 March 2009 - 06:13
when the setup complete. I want a message "please restart your computer"
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
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
To answer your earlier questions, I only glanced at it, but the code seems okay.
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.
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
tks for your help. Finally I created my project setup by install shield