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
- :
- 3rd Party Installer (LAAW)
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
‎Sep 28, 2007
04:18 PM
3rd Party Installer (LAAW)
I have an installscript project which calls a (somewhat out of date) installation for a UniVerse IBM ODBC driver using LaunchAppAndWait();
On some test machines, the installer defaults to H:\IBM. It should be C:\IBM. On other machines it defaults to C:\IBM.
We have a domain setup where every user has an H: drive as a default share for their user name. Our command prompts open up defaulted to H:
I've tried using...
...prior to calling LAAW. I don't know if that's the intended usage of ChangeDir though. In any event, it doesn't seem to help.
While I suspect this may not be an issue in the real world, QA isn't happy.
Anyone seen this behavior or have any possible solutions to this?
On some test machines, the installer defaults to H:\IBM. It should be C:\IBM. On other machines it defaults to C:\IBM.
We have a domain setup where every user has an H: drive as a default share for their user name. Our command prompts open up defaulted to H:
I've tried using...
ChangeDirectory( TARGETDIR ^ "\\SetupTemp\\ODBCCLI\\" );
szPath = TARGETDIR ^ "\\SetupTemp\\ODBCCLI\\";
LAAW_PARAMETERS.lpCurrentDirectory = &szPath;
...prior to calling LAAW. I don't know if that's the intended usage of ChangeDir though. In any event, it doesn't seem to help.
While I suspect this may not be an issue in the real world, QA isn't happy.
Anyone seen this behavior or have any possible solutions to this?
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 28, 2007
04:26 PM
What was the ODBC installer written in? Does it open the CMD console or do you? How are you running the other installer silently?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 01, 2007
09:37 AM
It looks like InstallShield, non-MSI.
Their Setup.exe doesn't offer any silent arguments.
Their Setup.exe doesn't offer any silent arguments.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 01, 2007
09:46 AM
If its an InstallShield Installscript install you should be able to record answers to the dialogs using the /R switch. The you can modify the ISS file to adjust that install's target folder at runtime. That is of course if that installer presents a dialog to select the install location.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 01, 2007
01:14 PM
It does prompt for an install location.
I'll give that a try and post the results.
Thanks for the help!
I'll give that a try and post the results.
Thanks for the help!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 01, 2007
08:35 PM
Bummer. /s f1"InstallSource\setup.iss" doesn't work. I get:
[InstallShield Silent]
Version=v7.00
File=Log File
[ResponseResult]
ResultCode=-3
[Application]
Name=UniVerse ODBC Driver
Version=4.0
Company=IBM
Lang=0009
-3 Required data not found in the Setup.iss file.
The .iss it generates gives me:
[CODE][InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-DlgOrder]
Dlg0={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdWelcome-0
Count=9
Dlg1={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdShowInfoList-0
Dlg2={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdAskDestPath-0
Dlg3={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdComponentDialog2-0
Dlg4={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-AskOptions-0
Dlg5={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdSelectFolder-0
Dlg6={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdStartCopy-0
Dlg7={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinish-0
Dlg8={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinishReboot-0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdWelcome-0]
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdShowInfoList-0]
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdAskDestPath-0]
szDir=C:\IBM\UniDK\UniVerseODBC
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdComponentDialog2-0]
ODBCDriver-type=string
ODBCDriver-count=1
ODBCDriver-0=ODBCDriver\New ODBC 3.51 1
Component-type=string
Component-count=5
Component-0=UCITool
Component-1=ODBCDriver
Component-2=DeeBeeSpy
Component-3=OnlineDoc
Component-4=JRE
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-AskOptions-0]
Result=1
Sel-0=0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdSelectFolder-0]
szFolder=IBM U2\UniVerse ODBC Driver
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdStartCopy-0]
Result=1
[Application]
Name=UniVerse ODBC Driver
Version=4.0
Company=IBM
Lang=0009
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinishReboot-0]
Result=1
BootOption=0
[{8AE661B1-6E2D-4969-941F-E84DA08C791D}-DlgOrder]
Count=0
[{920DFE60-76CF-4ABF-B101-36C3BEAA5AEC}-DlgOrder]
Count=0
[{D0594525-9819-4871-83B0-C053F4FBDA7A}-DlgOrder]
Count=0
[/CODE]
I made sure to install it with /r and then uninstall it followed by installing with /s too. I'm wondering if the fact that IBM uses two finish dialogs says that they are forcing SdFinishReboot rather than letting IS detect a reason to do it. You always get Finish and FinishReboot in their installer.
Also curious why Count=9 is between dialog definitions.
[InstallShield Silent]
Version=v7.00
File=Log File
[ResponseResult]
ResultCode=-3
[Application]
Name=UniVerse ODBC Driver
Version=4.0
Company=IBM
Lang=0009
-3 Required data not found in the Setup.iss file.
The .iss it generates gives me:
[CODE][InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-DlgOrder]
Dlg0={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdWelcome-0
Count=9
Dlg1={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdShowInfoList-0
Dlg2={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdAskDestPath-0
Dlg3={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdComponentDialog2-0
Dlg4={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-AskOptions-0
Dlg5={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdSelectFolder-0
Dlg6={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdStartCopy-0
Dlg7={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinish-0
Dlg8={51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinishReboot-0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdWelcome-0]
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdShowInfoList-0]
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdAskDestPath-0]
szDir=C:\IBM\UniDK\UniVerseODBC
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdComponentDialog2-0]
ODBCDriver-type=string
ODBCDriver-count=1
ODBCDriver-0=ODBCDriver\New ODBC 3.51 1
Component-type=string
Component-count=5
Component-0=UCITool
Component-1=ODBCDriver
Component-2=DeeBeeSpy
Component-3=OnlineDoc
Component-4=JRE
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-AskOptions-0]
Result=1
Sel-0=0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdSelectFolder-0]
szFolder=IBM U2\UniVerse ODBC Driver
Result=1
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdStartCopy-0]
Result=1
[Application]
Name=UniVerse ODBC Driver
Version=4.0
Company=IBM
Lang=0009
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
[{51666EF5-0BEB-11D4-8E10-0000E84E5C56}-SdFinishReboot-0]
Result=1
BootOption=0
[{8AE661B1-6E2D-4969-941F-E84DA08C791D}-DlgOrder]
Count=0
[{920DFE60-76CF-4ABF-B101-36C3BEAA5AEC}-DlgOrder]
Count=0
[{D0594525-9819-4871-83B0-C053F4FBDA7A}-DlgOrder]
Count=0
[/CODE]
I made sure to install it with /r and then uninstall it followed by installing with /s too. I'm wondering if the fact that IBM uses two finish dialogs says that they are forcing SdFinishReboot rather than letting IS detect a reason to do it. You always get Finish and FinishReboot in their installer.
Also curious why Count=9 is between dialog definitions.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 02, 2007
08:54 AM
ErrorCode -3 means that a dialog is getting displayed in silent mode that you did not account for in your ISS file. Run the setup on that computer again to see if anything has changed now that you have installed it once. I have found that the FinishReboot and Finish dilaogs are the biggest culprits in this instance.
As a workaround I add both to the ISS file. Here is a sample ISS file with only the relevant sections. To get both sections I record the isntall twice, once for a reboot system and once for a non-reboot system, then combine the differences.
[CODE]
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-DlgOrder]
Dlg0={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdWelcome-0
Dlg1={852D5643-A4AE-4681-A2B3-8F53DE60996C}-AskText-0
Dlg2={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdLicense-0
Dlg3={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdAskDestPath-0
Dlg4={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SetupType-0
Dlg5={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdComponentTree-0
Dlg6={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdStartCopy-0
Dlg7={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinishReboot-0
Dlg7={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinish-0
Dlg8={852D5643-A4AE-4681-A2B3-8F53DE60996C}-AskYesNo-0
Dlg9={852D5643-A4AE-4681-A2B3-8F53DE60996C}-MessageBox-0
Count=10
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinishReboot-0]
Result=1
BootOption=0
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
[/CODE]
As a workaround I add both to the ISS file. Here is a sample ISS file with only the relevant sections. To get both sections I record the isntall twice, once for a reboot system and once for a non-reboot system, then combine the differences.
[CODE]
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-DlgOrder]
Dlg0={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdWelcome-0
Dlg1={852D5643-A4AE-4681-A2B3-8F53DE60996C}-AskText-0
Dlg2={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdLicense-0
Dlg3={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdAskDestPath-0
Dlg4={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SetupType-0
Dlg5={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdComponentTree-0
Dlg6={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdStartCopy-0
Dlg7={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinishReboot-0
Dlg7={852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinish-0
Dlg8={852D5643-A4AE-4681-A2B3-8F53DE60996C}-AskYesNo-0
Dlg9={852D5643-A4AE-4681-A2B3-8F53DE60996C}-MessageBox-0
Count=10
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinishReboot-0]
Result=1
BootOption=0
[{852D5643-A4AE-4681-A2B3-8F53DE60996C}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
[/CODE]
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 03, 2007
08:42 AM
After some more testing, it seems that launching Setup.exe manually in Windows Explorer, sets the install path correctly. If InstallShield launches it with LAAW, or if I use a batch file to call Setup.exe, it sets the install path to H:.
Very strange indeed.
Very strange indeed.
