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