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.
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)
Please log in to answer
Posted by:
anonymous_9363
16 years ago
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.
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
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?
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
Posted by:
Tone
16 years ago
Posted by:
anonymous_9363
16 years ago
ORIGINAL: ogeccutThe 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.
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
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
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?
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
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
Posted by:
ogeccut
16 years ago
Posted by:
ogeccut
16 years ago
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.
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
Posted by:
anonymous_9363
16 years ago
ORIGINAL: ogeccutSomething I cobbled together a while ago. It's a bit QAD and I don't know if this is what you had in mind...
And it there a way to extract a file from a binary file? I extracted binary table and got .ibd?
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
Hi Michael,
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
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
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.