You should really remove the following line:

Set shell = CreateObject()

It used to be 

Set shell = WScript.CreateObject("WScript.Shell")

Another question: Is this really valid?

Set objRootDSE = GetObject("LDAP://RootDSE <ldap://RootDSE/>")

I would expect a PROGID as the parameter for GetObject().

Remember I'm not a vbscript wizard so I might be worrying about nothing.

Edwin G. Castro
Software Developer - Staff
Electronic Banking Services
Fiserv
Office: 503-746-0643
Fax: 503-617-0291
www.fiserv.com
Please consider the environment before printing this e-mail

> -----Original Message-----
> From: sangeeta1 [mailto:snmsn...@gmail.com]
> Sent: Thursday, December 16, 2010 12:42 PM
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Running vbscript in customaction
> 
> 
> Hi Phil,
> 
> The custom action function to simply read the Domain name also fails with
> return code 3
> 
> Set shell = CreateObject()
> Set objRootDSE = GetObject("LDAP://RootDSE <ldap://RootDSE/>")
> 
> 
> I am sure I am missing a lot here...looking for some directions on getting it
> right.
> 
> thanks!
> On Thu, Dec 16, 2010 at 1:25 PM, snm snm <snmsn...@gmail.com> wrote:
> 
> >
> > Thanks for the correction. After removing the wscript ref, I am still
> > seeing the same problem.
> > I initially thought maybe reading property from session object is
> > throwing the error, so i hardcoded a value in the variable and tried
> > it again, but it still throws the same error.
> >
> > Is there any way I can log messages - similar to session.Log() in c#
> > customactions?
> >
> >
> >
> > ----------------- code ----------
> >
> > Function CheckUserExists()
> >
> > 'strUserName = Session.Property("IAMUSERNAME") strUserName =
> "iaadmin"
> >  ' Determine DNS domain name.
> > Set objRootDSE = GetObject("ldap://RootDSE/ LDAP://RootDSE")
> > strDNSDomain = objRootDSE.Get("defaultNamingContext")
> >
> > Set objCommand = CreateObject("ADODB.Command") Set objConnection
> =
> > CreateObject("ADODB.Connection") objConnection.Provider =
> > "ADsDSOObject"
> > objConnection.Open "Active Directory Provider"
> > objCommand.ActiveConnection = objConnection
> objCommand.CommandText = _
> > "<LDAP://" & strDNSDomain & ">;(&(objectCategory=User)" & _
> > "(samAccountName=" & strUserName & "));samAccountName;subtree"
> >
> > Set objRecordSet = objCommand.Execute
> > If objRecordset.RecordCount = 0 Then
> >  'WScript.StdOut.WriteLine "sAMAccountName: " & strUserName & " does
> > not exist."
> >         Session.Property("USEREXISTS") = 1 Else
> > 'WScript.StdOut.WriteLine strUserName & " exists."
> >         CheckUserExists = msiDoActionStatusSuccess End If
> > objConnection.Close End Function
> >
> > --------- Log ----------------
> >
> > Action 11:42:48: CheckUserExists.
> > Action start 11:42:48: CheckUserExists.
> > MSI (c) (E8:94) [11:42:48:993]: Cloaking enabled.
> > MSI (c) (E8:94) [11:42:48:993]: Attempting to enable all disabled
> > privileges before calling Install on Server MSI (c) (E8:94)
> > [11:42:48:993]: Connected to service for CA interface.
> > Action ended 11:42:49: CheckUserExists. Return value 3.
> > DEBUG: Error 2896:  Executing action CheckUserExists failed.
> > The installer has encountered an unexpected error installing this package.
> > This may indicate a problem with this package. The error code is 2896.
> > The arguments are: CheckUserExists, , Action ended 11:42:49:
> > WelcomeDlg. Return value 3.
> >
> >
> >   On Wed, Dec 15, 2010 at 11:11 PM, Wilson, Phil-2 [via Windows
> > Installer XML (WiX) toolset]
> > <ml-node+5839954-899484189-306...@n2.nabble.com<ml-
> node%2B5839954-8994
> > 84189-306...@n2.nabble.com>
> > > wrote:
> >
> >> There is no WScript object in Windows Installer. As its name implies,
> >> the Wscript object is supplied by the Windows Script Host
> >> environment, and you're not running in there. Just use CreateObject().
> >>
> >> Phil Wilson
> >>
> >> -----Original Message-----
> >> From: sangeeta1 [mailto:[hidden
> >> email]<http://user/SendEmail.jtp?type=node&node=5839954&i=0>]
> >>
> >> Sent: Wednesday, December 15, 2010 9:22 AM
> >> To: [hidden email]
> >> <http://user/SendEmail.jtp?type=node&node=5839954&i=1>
> >> Subject: [WiX-users] Running vbscript in customaction
> >>
> >>
> >> Hi,
> >>
> >>
> >> I have a vbscript to validate the user in AD and I am having trouble
> >> running it in the custom Action. Can someone point out mistakes in
> >> implementing the custom action.
> >> I am not a vbscript expert here so please pardon my ignorance.
> >>
> >> log
> >> ----
> >>
> >> Action 11:42:48: CheckUserExists.
> >> Action start 11:42:48: CheckUserExists.
> >> MSI (c) (E8:94) [11:42:48:993]: Cloaking enabled.
> >> MSI (c) (E8:94) [11:42:48:993]: Attempting to enable all disabled
> >> privileges before calling Install on Server MSI (c) (E8:94)
> >> [11:42:48:993]: Connected to service for CA interface.
> >> Action ended 11:42:49: CheckUserExists. Return value 3.
> >> DEBUG: Error 2896:  Executing action CheckUserExists failed.
> >> The installer has encountered an unexpected error installing this package.
> >>
> >> This may indicate a problem with this package. The error code is
> >> 2896. The
> >>
> >> arguments are: CheckUserExists, ,
> >> Action ended 11:42:49: WelcomeDlg. Return value 3.
> >>
> >> Code
> >> --------
> >>
> >> <CustomAction Id="CheckUserExists" BinaryKey="CheckUserExistsKey"
> >> VBScriptCall="CheckUserExists" Execute="immediate"></CustomAction>
> >> <Binary Id="CheckUserExistsKey" SourceFile="scripts\ADUserSearch.vbs"
> >> ></Binary>
> >>
> >> vbscript
> >> ----------
> >>
> >> Function CheckUserExists
> >> Set shell = WScript.CreateObject("WScript.Shell")
> >> strUserName = Session.Property("IAMUSERNAME") dtStart =
> >> TimeValue(Now()) ' Determine DNS domain name.
> >> Set objRootDSE = GetObject(" ldap://RootDSE/ LDAP://RootDSE")
> >> strDNSDomain = objRootDSE.Get("defaultNamingContext")
> >> Set objCommand = CreateObject("ADODB.Command") Set
> objConnection =
> >> CreateObject("ADODB.Connection") objConnection.Provider =
> >> "ADsDSOObject"
> >> objConnection.Open "Active Directory Provider"
> >> objCommand.ActiveConnection = objConnection
> objCommand.CommandText =
> >> _  "<LDAP://" & strDNSDomain & ">;(&(objectCategory=User)" & _
> >> "(samAccountName=" & strUserName & "));samAccountName;subtree"
> >>
> >> Set objRecordSet = objCommand.Execute If objRecordset.RecordCount =
> 0
> >> Then  'WScript.StdOut.WriteLine "sAMAccountName: " & strUserName &
> "
> >> does not exist."
> >>         Session.Property("USEREXISTS") = 1 Else
> >> 'WScript.StdOut.WriteLine strUserName & " exists."
> >>         CheckUserExists = msiDoActionStatusSuccess End If
> >> objConnection.Close End
> >>
> >>
> 
> --
> View this message in context: http://windows-installer-xml-wix-
> toolset.687559.n2.nabble.com/Running-vbscript-in-customaction-
> tp5838178p5843379.html
> Sent from the wix-users mailing list archive at Nabble.com.
> ------------------------------------------------------------------------------
> Lotusphere 2011
> Register now for Lotusphere 2011 and learn how to connect the dots, take
> your collaborative environment to the next level, and enter the era of Social
> Business.
> http://p.sf.net/sfu/lotusphere-d2d
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to