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