cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ciberr_bob
Level 5

Custom Dialog Query...Plz Help

hi,
I'm using Installshield 2009 pro
project type : InstallscriptMsi

how can i get the value entered by the end user in the custom dialog ? Moving further how can save this value in the property for further usage ??

do help me out fellas...!
Labels (1)
0 Kudos
(6) Replies
RobertDickau
Flexera Alumni

Please see the help topic "Using InstallScript to Process Dialog Controls", as well as the surrounding topics.

As for setting and getting a property from InstallScript, please search the documentation for "MsiSetProperty" and "MsiGetProperty".
0 Kudos
ciberr_bob
Level 5

RobertDickau wrote:
Please see the help topic "Using InstallScript to Process Dialog Controls", as well as the surrounding topics.


As for setting and getting a property from InstallScript, please search the documentation for "MsiSetProperty" and "MsiGetProperty".


Thanks robert,

i was able to explore the processing of dialog controls and was able to get the value as entered by user. i used ctrlgettext function to get this done for me.

But finding it bit difficult to get a hold on MsiSetProperty. Since time is a constraint for me. Can anyone help me on this issue...with a simple example for MsiSetProperty. Thank you
0 Kudos
ciberr_bob
Level 5

hi all,
to give u all a clear idea
Project Type : InstallscriptMsi

In the OnFirstUIBefore() function i'm calling my custom dialog after welcome dialog and code looks like this

Dlg_SdWelcome:
szTitle = "";
szMsg = "";
nResult = SdWelcome(szTitle, szMsg);
if (nResult = BACK) goto Dlg_SdWelcome;

szTitle = "";
svName = "";
svCompany = "";

Dlg_Test:
szTitle = "";
szMsg = "";
nResult = TestDialog(); // I'm calling my custom dialog here with no arguments
if (nResult = BACK) goto Dlg_SdWelcome;


I've have property i've made sure its in all caps TEST
My custom dialog has jus one text field
in the custom dialog rul file i'm setting this property for the next action

case Btn_Next:
nReturn = Btn_Next;
nResult = CtrlGetText (DIALOG_NAME, Dlg_Text, sText);
if(nResult >= 0) then
MsiSetProperty(ISMSI_HANDLE, "TEST", sText); endif;
bDone = TRUE;


I'm using the value entered by the user to update my web.config file but the property TEST remains unchanged.


Please find some time to look into this and suggest something. Where am i going wrong ???
0 Kudos
JimmiLee
Level 6

RobertDickau wrote:
Please see the help topic "Using InstallScript to Process Dialog Controls", as well as the surrounding topics.

As for setting and getting a property from InstallScript, please search the documentation for "MsiSetProperty" and "MsiGetProperty".


At the risk of sounding completely retarded - where's the "Using InstallScript to Process Dialog Controls" help topic found? I opened up the help for IS2009, but can't seem to locate this topic!

NEVERMIND - I found it . . .
🙂
0 Kudos
RobertDickau
Flexera Alumni

I'm using the value entered by the user to update my web.config file but the property TEST remains unchanged.


If you create an MSI log file, is the value being changed? How are you using TEST in your config file (as [TEST])?
0 Kudos
ciberr_bob
Level 5

RobertDickau wrote:
If you create an MSI log file, is the value being changed? How are you using TEST in your config file (as [TEST])?


Yes i was using it with the big braces on...anyways all of a sudden both get and set msi property worked the next day for me and it solved my issue. As soon as a find time i'll defnitely write the detailed solution so that it may be helpful for others moving ahead. Thanks a ton for help provided mates.
0 Kudos