I am running the msiexec with /l*v option to get verbose log. The error code is 2896, Return value 3 (unrecoverable error)
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, , On Thu, Dec 16, 2010 at 3:41 PM, snm snm <snmsn...@gmail.com> wrote: > > 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") > > > 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-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-tp5838178p5843491.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