I am currently trying to get a series of custom actions to execute off a Dialog 
'Next' PushButton control in the InstallUISequence in order to display them in 
the fields of a following UI dialog. I have confirmed that all my custom 
actions are set to execute immediately. (not deferred) When I run through and 
click the control, there is no evidence of it even trying to fire the Actions 
in the log. (using /lvx switch on msiexec to install) Below is the first action 
in the sequence (and the most complex) with the ones that come after dependent 
on the output of this action and the Property it sets to build a series of 
strings.

Can anyone see what I am doing wrong?

The VBScript below takes the Property 'P.ORGNAME' as an input, which is entered 
on the UI where I am trying to tie this action to the 'Next' button of.

    <!-- Custom Action for Pascal Case of Org Name for Content / Theme -->
    <Property Id="P.PascalCase">
        <![CDATA[Function PascalCase()
            orgname = Session.Property("P.ORGNAME")
            orgArray = Split(orgname, " ", -1, 1)
            orgNamePascal = ""
            For Each word in orgArray
                word = Ucase(left(word, 1)) + right(word, len(word)-1)
                orgNamePascal = orgNamePascal + word
            Next
            Session.Property("P.CONTENT") = orgNamePascal
        End Function]]></Property>

    <CustomAction Id="A.ContentName" VBScriptCall="PascalCase" 
Property="P.PascalCase" Execute="immediate" />

Custom dialog definition.

    <UI>
            <Dialog Id="GetOrgDlg" Width="370" Height="270" Title="Organisation 
Information">
                <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" 
Height="17" Default="yes" Text="Next">
                    <Publish Event="DoAction" Value="A.ContentName"></Publish>
                    <Publish Event="DoAction" Value="A.SetSQLDBName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetADataFileName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetALogFileName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetBDataFileName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetBLogFileName"></Publish>
                    <Publish Event="DoAction" Value="A.SetBDBName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetASQLUserName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetBSQLUserName"></Publish>
                    <Publish Event="DoAction" 
Value="A.SetCSQLUserName"></Publish>
                    <Publish Event="NewDialog" Value="GetDirDlg">1</Publish>
                </Control>

On clicking the 'Next' PushButton control, the new dialog is launched but there 
is no indication of even an attempt to trigger any of the actions sequenced 
there. As mentioned above, all the actions after A.ContentName depend on the 
output of that action to set a number of properties. All the properties in 
question are configured as Public Properties (all declared in Upper Case)

If I didn't require the A.ContentName action to be executed I would look to 
convert most of the actions over to simply setting a property based off the 
dialog (eg: Property="PROPERTY" Value="VALUE"), but I need that to execute 
first.

Any suggestions would be much appreciated.

Thanks.
                                          
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to