/build/static/layout/Breadcrumb_cap_w.png

Binary Table and Launching install from CA

For some reason my original post is locked.

I have application that came in exe format. I extracted an msi from %temp% and can see that it launching three applications from CA's. As executable it has a path to a Binary file, runs in Normal User Interface and set to Immediate Execution. I created a TRAMSFORM and set a registry key with a serial number, could not find a property. But when i run msi and mst none of those CA run. I changed CA's in mst to Normal Execute Immediate/Deferred and run as Deffered Execution - System Context. As well as added CA's in InstallUISequence table. Created a log file and CA's names are not in the log.
Any help on why those CA's are not running?
Thank you.

Ending of the Log from msi+transform
Property(S): SourcedirProduct = {32ACBFC1-06B1-4B33-B819-6EAC778847A6}
Property(S): ProductToBeRegistered = 1
MSI (s) (40:9C) [16:20:27:662]: Note: 1: 1707
MSI (s) (40:9C) [16:20:27:662]: Product: DefinePDF -- Installation operation completed successfully.

Vendor msi with CA's:
Property(S): SourcedirProduct = {32ACBFC1-06B1-4B33-B819-6EAC778847A6}
Property(S): ProductToBeRegistered = 1
MSI (s) (24:CC) [16:38:39:218]: MainEngineThread is returning 0
MSI (s) (24:44) [16:38:39:218]: Destroying RemoteAPI object.
MSI (s) (24:E8) [16:38:39:218]: Custom Action Manager thread ending.
MSI (c) (0C:1C) [16:38:39:234]: Back from server. Return value: 0
MSI (c) (0C:1C) [16:38:39:234]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (0C:1C) [16:38:39:234]: PROPERTY CHANGE: Deleting SECONDSEQUENCE property. Its current value is '1'.
Action ended 16:38:39: ExecuteAction. Return value 1.
MSI (c) (0C:1C) [16:38:39:234]: Skipping action: DLLWrapCleanup (condition is false)
MSI (c) (0C:1C) [16:38:39:234]: Skipping action: ISSetupFilesCleanup (condition is false)
MSI (c) (0C:1C) [16:38:39:234]: Doing action: InstallMSXML3
Action start 16:38:39: InstallMSXML3.
Action ended 16:38:54: InstallMSXML3. Return value 1.

0 Comments   [ + ] Show comments

Answers (16)

Posted by: anonymous_9363 16 years ago
Red Belt
2
Now officially confused....

Your last post infers that you have changed the CA from running in the UI sequence to running in EI/ED sequence. So...

If the UI is suppressed with a command-line switch (e.g. /QB, /QN, whatever) the UI sequence is NOT run. Any CA in that sequence is NOT run (there are special circumstances involving the type of CA which makes that statement false but I'm going to ignore those for now to keep it simple). If you want the CA to run irrespective of whether the UI is run or not, use your authoring tool's UI (sorry) to copy it from one sequence to the other. Thus, don't CHANGE them, COPY them from one to the other.
Posted by: AngelD 16 years ago
Red Belt
0
Hi ogeccut,

Dunno why your other post was locked but I've unlocked it.
As I said in the other thread you need to run the original EXE setup executable and not the extracted MSIs to get some useful info in the log(s).

As this seems to be an InstallShield based installation could you provide the application name you're trying to install.
Have you had a look in the Package KB for existing information regarding whatever application you're trying to install?
Posted by: ogeccut 16 years ago
Black Belt
0
Application is DefinePDF. I also see that is i run vendor msi from cmd without any switches all CA's run. But if i try to apply /qb! then CA's dont run.
Posted by: ogeccut 16 years ago
Black Belt
0
CA's launching MSXML, docuPrinterSDk and docuPrinter.
Posted by: Tone 16 years ago
Second Degree Blue Belt
0
Is there a setup.ini file when you extract the msi, if there is try adding your mst to the CMD line, some times you also have to create a response file if the package has been badly authored..

setup.exe /r
Posted by: anonymous_9363 16 years ago
Red Belt
0
ORIGINAL: ogeccut
Application is DefinePDF. I also see that is i run vendor msi from cmd without any switches all CA's run. But if i try to apply /qb! then CA's dont run.
The logical conclusion is that the CAs are running in the UI sequence but not in EI/ED, because that switch basically tells Windows Installer to not run the UI. Either copy the CAs into the EI/ED sequence or change their 'Type' number so that they run in all sequences.
Posted by: ogeccut 16 years ago
Black Belt
0
Either copy the CAs into the EI/ED sequence or change their 'Type' number so that they run in all sequences
I changed CA's in mst to Normal Execute Immediate/Deferred and run as Deffered Execution - System Context. As well as added CA's in InstallUISequence table.

Is that what you mean? Or i am doing something wrong?
Thanks for reply.
Posted by: anonymous_9363 16 years ago
Red Belt
0
I'm so sorry. I didn't read your post properly.

OK, we can see from the second log that InstallMSXML3 ran and returned '1' (success). Are you saying that the other two you mention, docuPrinterSDk and docuPrinter, aren't in the log at all? Or are they skipped, like 'DLLWrapCleanup' is?

I'm troubled by your editing of the CAs. You say you changed the CAs in the MST to 'Normal Execute Immediate/Deferred': what were they before? And what CA(s) did you add to InstallUISequence?
Posted by: ogeccut 16 years ago
Black Belt
0
Vendor msi is set to Normal User Interface/Immediate Execution. I need to run it silent. When running with /qb! none of those CA's ran. So in the mst i deleted msxml and inserted a merge madual and two others i am trying to change to Normal Execute Immedeate/Defered and Deferred Execution - System Context so i can run them silently. Also added those two to InstallExecute Sequence table before InstallFinalaze
Posted by: aogilmor 16 years ago
9th Degree Black Belt
0
If you can, divide and conquer - tackle those other installations as separate packages
Posted by: ogeccut 16 years ago
Black Belt
0
Thats what i am going to try to do today. Just want to make sure the reason why CA would not run with a /qb! switch bacause it is set to run in Normal User Interface, and needs to be changed to Normal Execute Immediate/Deferred and System Context?
Thanks for reply.
Posted by: ogeccut 16 years ago
Black Belt
0
Thank you very much for all replies.
I got it to work by recreating mst from the scratch. I think i was setting the location wrong.
I still have one question. Out of three CA's one is launching an msi for the binary table, "msxml". And i can deploy it separately, or maybe as am merge madual and its not an issue. Just trying to understand. When it running in UI then there is no issue, but when i changed in the mst to run in the system context and as normal execute immediate/deferred install launched CA and goes through dialogs "don’t know how to make it silent" and then gives me an error that another installation is in progress. which is fine since you cant have two smi running at the time. Why is it working in full UI?
And it there a way to extract a file from a binary file? I extracted binary table and got .ibd?

Thank you.
Posted by: nheim 16 years ago
10th Degree Black Belt
0
Hi Michael,
you can't have a second MSI running from a parent MSI in the "InstallExecuteSequence".
You should use the MSM for this package.
Regards, Nick
Posted by: anonymous_9363 16 years ago
Red Belt
0
ORIGINAL: ogeccut

And it there a way to extract a file from a binary file? I extracted binary table and got .ibd?
Something I cobbled together a while ago. It's a bit QAD and I don't know if this is what you had in mind...Function ExtractBinary(ByVal strBinaryName, ByVal strOutputFile)
Dim objDatabase
Dim objView
Dim objRecord
Dim objBinaryData
Dim objStream

Const msiReadStreamAnsi = 2

ExtractBinary = False

Set objDatabase = Session.Database

Set objView = objDatabase.OpenView("SELECT * FROM Binary WHERE Name = '" & strBinaryName & "'")
objView.Execute

Set objRecord = objView.Fetch

objBinaryData = objRecord.ReadStream(2, objRecord.DataSize(2), msiReadStreamAnsi)

Set objStream = objFSO.CreateTextFile(strOutputFile, True)
objStream.Write objBinaryData
objStream.Close

If objFSO.FileExists(strOutputFile) Then
ExtractBinary = True
End If

Set objStream = Nothing
Set objRecord = Nothing
Set objView = Nothing
Set objDatabase = Nothing

End Function
Posted by: nheim 16 years ago
10th Degree Black Belt
0
Hi Michael,
I have application that came in exe format. I extracted an msi from %temp% and can see that it launching three applications from CA's. As executable it has a path to a Binary file, runs in Normal User Interface and set to Immediate Execution. I created a TRAMSFORM and set a registry key with a serial number, could not find a property. But when i run msi and mst none of those CA run. I changed CA's in mst to Normal Execute Immediate/Deferred and run as Deffered Execution - System Context. As well as added CA's in InstallUISequence table. Created a log file and CA's
There is a reason, why the vendor placed this CA in the UI Sequence.
At least 'MSXML3' comes a MSI or MSM. And you can't have 2 concurrent installations running.
So, in this case, you simply could disable this CA and install 'MSXML3.msi' as a separate prerequisite.
Or you use the merge module and embed it in the package. But then you would have to check for existing installations and do it conditionally (maybe, depends on your scenario).
Don't know if the other 2 CA are calling MSI's too. If they don't, it should be possible to move them to th deferred sequence.
Can you post the CA's and the Action calls here, so we can get a look at it?
Regards, Nick
Posted by: ogeccut 16 years ago
Black Belt
0
Thank you very much for all your posts.
The other two CA are executing exe's and everything works. I will deploy xml as a separate msi or as a merge module.

Thank you.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ