MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: VbsCaCadGet()[Next]: VbsCaCadReplace()
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->VBSCRIPT->Custom Action Functions->VbsCaCadGetValidate()

VbsCaCadGetValidate()

This optional function can be used in any generated vbscript custom actions. It can be included or excluded (to save space if not required).
It is included by default, to changes this:

  1. Set the default value to "Y" or "N" on "VBSCA_WANT_VbsCaCadGetValidate".

  2. Use the "Optcode" parameter on a custom action to override on individual custom actions.

  3. Redefine the default value for the custom action's "OptCode" parameter (probably in a common header file).

The VbsCaCadGetVbsCaCadGet() function can be used to retrieve values (see it for more detail) however the "VbsCaCadGetValidate()" version also performs some validation of the returned value.

The function takes these parameters:

  1. The name of a parameter (the first column in the "#data" structure). The name must be in the exact same case as used on the definition.

  2. The validation type. Some types may take parameters if so you may supply this after the optional ":" character which should follow the type ("Type:parameters").

    The available validation types are:

If parameters are passed on a validation type which doesn't require them then an error is generated.

EXAMPLE

#data "ConfigData"
   "ExistingFile" "c:\tmp\\1.x"
   "ExistingDir"  "c:\tmp\\"
   "InvalidType"  "InvalidTypeValue"
#data
<$VbsCa Binary="TestVbsCaCadGetValidate.vbs" data="ConfigData">
   <$VbsCaEntry "Test">
        dim Val
        Val = VbsCaCadGetValidate("ExistingFile", "file")
        Val = VbsCaCadGetValidate("ExistingDir",  "dir")
        Val = VbsCaCadGetValidate("InvalidType",  "xxx:yyy")
   <$/VbsCaEntry>
<$/VbsCa>
<$VbsCaSetup Binary="TestVbsCaCadGetValidate.vbs" Entry="Test" Seq="InstallInitialize-" SeqTable="InstallExecuteSequence" CONDITION=^<$VBSCA_CONDITION_INSTALL_ONLY>^ data="ConfigData">


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: VbsCaCadGet()[Next]: VbsCaCadReplace()


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.