cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rguggisberg
Level 13

Trouble Installing DirectX9c in a Suite project

I am trying to install DirectX9c as a package in a Suite project. It seems to install correctly.


But after clicking on ‘Finish’ (above) I get the following popup from the Suite.
Any Ideas why that is?


Following is last part of log file:
3-21-2014[07:42:01 AM]: Stage parcel status: 0
3-21-2014[07:42:01 AM]: No Windows features associated with parcel '{822FD6C5-17F3-4C28-AAB4-16669BCAC13A}'
3-21-2014[07:42:01 AM]: No Windows features associated with parcel '{617841B2-1866-4922-8EDA-F492233D9D9B}'
3-21-2014[07:42:01 AM]: Engine: starting parcel operations
3-21-2014[07:42:01 AM]: Engine: property 'ISInstallStatus' value now 'IDS_SUITE_PREPARING_FOR_OPERATION'
3-21-2014[07:42:01 AM]: Engine: property 'ISParcelStatus' value now ''
3-21-2014[07:42:01 AM]: Transaction: parcels installing: yes, need elevation: no, any 64-bit: no
3-21-2014[07:42:01 AM]: Running with current process transaction, starting transaction (if supported)
3-21-2014[07:42:01 AM]: Running transaction parcels
3-21-2014[07:42:01 AM]: Running parcel operation for parcel {822FD6C5-17F3-4C28-AAB4-16669BCAC13A}
3-21-2014[07:42:01 AM]: Running EXE parcel operation
3-21-2014[07:42:01 AM]: Engine: property 'ISInstallStatus' value now 'Installing component '
3-21-2014[07:42:01 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING41'
3-21-2014[07:42:01 AM]: Will launch exe: C:\Users\Administrator\Desktop\Test\{3FE9E9EF-254A-45E4-8109-6D643EE769D0}\DXSETUP.exe
3-21-2014[07:42:01 AM]: EXE parcel command line:
3-21-2014[07:42:01 AM]: EXE parcel resolved command line:
3-21-2014[07:42:18 AM]: Launch EXE result: 0
3-21-2014[07:42:18 AM]: Final result status for EXE parcel: 0
3-21-2014[07:42:18 AM]: Engine: property 'ISInstallStatus' value now 'Component operation complete'
3-21-2014[07:42:18 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING41'
3-21-2014[07:42:18 AM]: Parcel operation return status: 0
3-21-2014[07:42:18 AM]: No registry indicators appear to signal a reboot is pending
3-21-2014[07:42:18 AM]: Re-running parcel detection for parcel {822FD6C5-17F3-4C28-AAB4-16669BCAC13A}, install state: 0
3-21-2014[07:42:18 AM]: UI DLL: Display Error: The installation of DXSETUP appears to have failed. Do you want to continue the installation?
3-21-2014[07:42:24 AM]: Transaction: finished running parcels, will commit transaction
3-21-2014[07:42:24 AM]: End transaction result: 1
3-21-2014[07:42:24 AM]: Transaction: parcels installing: yes, need elevation: no, any 64-bit: no
3-21-2014[07:42:24 AM]: Running with current process transaction, starting transaction (if supported)
3-21-2014[07:42:24 AM]: Running transaction parcels
3-21-2014[07:42:24 AM]: Running parcel operation for parcel {617841B2-1866-4922-8EDA-F492233D9D9B}
3-21-2014[07:42:24 AM]: Running EXE parcel operation
3-21-2014[07:42:24 AM]: Engine: property 'ISInstallStatus' value now 'Installing component '
3-21-2014[07:42:24 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING10'
3-21-2014[07:42:24 AM]: Will launch exe: C:\Users\Administrator\Desktop\Test\Support\setup.exe
3-21-2014[07:42:24 AM]: EXE parcel command line: /v"SUITEINSTALL=1"
3-21-2014[07:42:24 AM]: EXE parcel resolved command line: /v"SUITEINSTALL=1"

Another question…. I don’t currently have a Detection Condition (so it attempts to install whether I need it or not).How do I tell what version of DirectX is installed. The GUI shows version 11 both before and after installing DirectX9c.


Yet the registry shows version 9 both before and after installing DirectX9c.


Any ideas are appreciated.
Labels (1)
0 Kudos
(5) Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

The lack of a detection condition is what's leading to the suite determining that the DirectX installation failed. Unfortunately I'm not finding much useful information on how to properly detect the version of DirectX; the best leads I see are this scripting guy question, and the wikipedia article linked by a comment. Do you know the scenario you're testing actually updates DirectX, or is it possible that's why you don't see any change in the registry? What about file versions?
0 Kudos
rguggisberg
Level 13

Thanks Michael.... you came to pretty much the same conclusion I did. We are going to leave DirectX9c out of our install this time around as there is some disagreement over whether or not we even need to install 9 if we always have 11 or newer. May have to add it to the next release... but I will burn that bridge when I get to it 🙂
0 Kudos
rguggisberg
Level 13

Michael,
OK... even though most boxes come with DirectX11 these days, I have been informed that our product needs DirectX9c and that I do need to include DirectX9c in the Suite install. So I added a detection condition as you suggested. I simply used ALL - OS Version -6.0, since I haven't yet figured out how to tell if DirectX9c is already installed. It still fails as stated above... although there is a different error in the log (below). The detection condition is working properly because if I invert it by changing ALL to NONE it does not install DirectX. Any ideas?

3-27-2014[11:40:36 AM]: Running EXE parcel operation
3-27-2014[11:40:36 AM]: Engine: property 'ISInstallStatus' value now 'Installing component '
3-27-2014[11:40:36 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING38'
3-27-2014[11:40:36 AM]: Will launch exe: C:\Users\Administrator\Desktop\New\{A162CB73-56F2-4CDE-B556-D4A393134485}\DXSETUP.exe
3-27-2014[11:40:36 AM]: EXE parcel command line:
3-27-2014[11:40:36 AM]: EXE parcel resolved command line:
3-27-2014[11:40:55 AM]: Launch EXE result: 0
3-27-2014[11:40:55 AM]: Final result status for EXE parcel: 0
3-27-2014[11:40:55 AM]: Engine: property 'ISInstallStatus' value now 'Component operation complete'
3-27-2014[11:40:55 AM]: Engine: property 'ISParcelStatus' value now 'ID_STRING38'
3-27-2014[11:40:55 AM]: Parcel operation return status: 0
3-27-2014[11:40:55 AM]: No registry indicators appear to signal a reboot is pending
3-27-2014[11:40:55 AM]: Re-running parcel detection for parcel {E2789716-0B10-40DB-A256-A52954231C13}, install state: 0
3-27-2014[11:40:55 AM]: UI DLL: Display Error: The installation of DirectX9c appears to have failed. Do you want to continue the installation?
3-27-2014[11:40:57 AM]: Transaction: parcel returned error status 80004004
3-27-2014[11:40:57 AM]: Transaction: finished running parcels, will roll back transaction
3-27-2014[11:40:57 AM]: End transaction result: 1
3-27-2014[11:40:57 AM]: Engine: error 80004004 while running parcel operations
3-27-2014[11:40:57 AM]: State manager: removing state info
3-27-2014[11:40:57 AM]: Engine: parcel operations completed, sending completed event to UI
3-27-2014[11:40:57 AM]: Engine: property 'ISInstallStatus' value now 'IDS_SUITE_INTERRUPTED'
3-27-2014[11:40:57 AM]: Engine: property 'ISParcelStatus' value now ''
3-27-2014[11:40:57 AM]: Engine: property 'ISCurrentPage' value now 'InstallationComplete'
3-27-2014[11:40:59 AM]: Engine: all operations completed, final status: 80004004
3-27-2014[11:40:59 AM]: Engine: property 'ISInstallStatus' value now 'IDS_SUITE_INTERRUPTED'
3-27-2014[11:40:59 AM]: Engine: property 'ISParcelStatus' value now ''
3-27-2014[11:40:59 AM]: UI DLL: Shutting down
3-27-2014[11:40:59 AM]: Original exit status: 0x80004004, final exit status: 0x00000642
3-27-2014[11:40:59 AM]: State manager: removing staging files from: C:\Users\ADMINI~1\AppData\Local\Temp\{CEDC312B-5542-43CF-9D36-91C8583B0F8B}\

Thanks!
0 Kudos
rguggisberg
Level 13

Hmmm......
Got it to work (and no errors in the log) by changing the Install Exit Behavior from "Ask whether to continue the setup" to "Continue the setup".
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If the result of the detect condition does not change, the engine assumes that the package failed to install. Since your OS version will not change and become true, it's not a particularly good condition for this purpose. If there is no good condition, then perhaps the setting change you made is the best route forward. (I still expect there's something that could be detected, but that doesn't help much if we don't know what it is.)
0 Kudos