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 <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-899484189-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-tp5838178p5842927.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

Reply via email to