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

Reply via email to