cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rune_paulsen
Level 5

How to debug Suite error 80070006

When the suite installer should start to install one of my MSI i get this error message:

1-9-2012[10:35:31 ??]: Transaction: finished running parcels, will commit transaction
1-9-2012[10:35:31 ??]: End proxy transaction result: 0
1-9-2012[10:35:31 ??]: Transaction: parcels installing: yes, need elevation: yes, any 64-bit: yes
1-9-2012[10:35:31 ??]: Engine: request for proxy handler, 1, 1
1-9-2012[10:35:31 ??]: Running with out-proc transaction, starting transaction (if supported)
1-9-2012[10:35:31 ??]: Engine: error 80070006 while running parcel operations
1-9-2012[10:35:31 ??]: Engine: parcel operations completed, sending completed event to UI
1-9-2012[10:35:31 ??]: Engine: property 'ISInstallStatus' value now 'IDS_SUITE_INTERRUPTED'

But, i don’t get any log file from the MSI that is failing( MSI logging have been turned on)

If i start the MSI installer after the Suite Installer, i am able to install without any problem.
How can i find out why the Suite is not able to install this MSI?
Do you have an error description for 80070006?

More info about my install problem.
This problem is only on Vista, Windows 7 is ok.

The first step the Suite installer do, is installing .Net 4.0 Framework (if not installed)

If .Net 4.0 is installed, i don't get any problem on Vista either.

Someone seen this behavior before?
Labels (1)
0 Kudos
(12) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Error 0x80070006 is a system error indicating an invalid handle was passed to a Win32 API. Have you applied the hotfix for setupsuite64.exe referenced in this thread: http://community.flexerasoftware.com/showthread.php?t=199676? If not, please try applying that and test your suite project again in the scenario that was failing.

If this behavior still occurs or you already had applied the hotfix for setupsuite64.exe, please attach the full suite debug log to this thread.
0 Kudos
rune_paulsen
Level 5

I have applied the hotfix.

The full InstallShield log is attached.

Thanks for checking.
0 Kudos
DebbieL
Level 17

rune.paulsen,

It looks like your log file was not attached. Can you attach it?

Thanks.
0 Kudos
rune_paulsen
Level 5

ah, .log was an invalid extension.

I have uploaded InstallShield.txt now.

Thanks.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

Can you also attach the setup.xml file that is in the Interm folder in your build? This could help to see what steps the suite engine is taking to launch packages. The information contained in the log indicates that a 64-bit package is going to be launched (which for MSI packages requires a 64-bit process to install correctly), so the engine launches a 64-bit helper process, establishes communication with the process, and then the failure indicates that the communication possibly wasn't working. However, this shouldn't be the case since a failure to establish communications between processes will log additional information that isn't in the attached log.

Also, what service pack is installed on these machines that reproduce this behavior? What version of MSI is installed on these machines?
0 Kudos
rune_paulsen
Level 5

I have uploaded the setup.xml file.


We have Vista with Service pack 2 installed.

MSI.DLL have version 4.5.6002.18005
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

We have been able to reproduce this issue in a sample suite project that installs the following packages in this specific order:
1. EXE package
2. MSI package (64-bit)
3. EXE package
4. MSI package (64-bit)

This issue is reproducible on any machine that requires installing all the above packages. If any of these packages are already installed and therefore does not need to be installed with the suite installer, this issue (logged error 0x80070006, then suite abort) will not occur.

We are currently investigating the cause of this behavior. As a workaround, it should be possible to group all EXE or all MSI (64-bit) packages together in the Packages view. In our testing, this appears to prevent the issue from occurring.

Edit: It should also be possible to work around this issue by marking the suite setup.exe as requiring elevated privileges from the Releases view in the suite project.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

This behavior is the result of an issue with EXE packages in the suite engine. When EXE packages are launched, the suite engine attempts to close a handle related to the EXE process after the EXE has exited. However, this handle is only valid if the EXE package was launched in the main suite process (elevated EXEs are launched from an elevated process maintained by the suite), but the suite engine always closes the handle. Due to some coincidence and how handles are allocated on Windows, this can result in closing a handle the suite uses to communicate with the elevated (and 64-bit) processes used to launch packages. The next attempt to use this handle results in an invalid handle error.

This issue can be worked around using the previously mentioned methods. We are currently working on a hotfix to resolve this behavior. We hope to have this available in the next week or so.
0 Kudos
rune_paulsen
Level 5

Hi

Good to know you were able to reproduce the problem.

I have solved the problem by changing the package order.

1. Exe
2. MSI
3. MSI
4. EXE

Now i am able to install all package on Vista 🙂
0 Kudos
rune_paulsen
Level 5

Thanks

By using Install attribute, i was able to build the same feature tree.

Now i have:

Suite Feature A: MSI Feature A, subfeature B, subfature C
Suite Feature B: MSI Feature D
Suite Feature C: MSI Feature E

In the MSI tree the MSI feature A is required and have install level 1
MSI feature D is not required and have install level 200
MSI feature E is not required and have install level 200

How do i link this to the Suite feature.

When the user do a normal install, only Feature A should be installed.

When the user does a normal install, only Feature A should be installed.
The use should go to Custom installation and select Suite Feature B to get MSI feature D installed.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

If I understand your request correctly, the easiest thing to do is specify a condition for each other feature. You can use the condition group None, which, without further conditions beneath it, will evaluate to false.
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

I have attached a hotfixed version of SetupSuite.exe that should resolve the issue that was seen with attempting to run multiple EXE and MSI packages (64-bit) that would result in logged error 0x80070006 when the EXE and MSI packages were ordered in specific ways. To apply the fix:
1. Make a backup copy of C:\Program Files\InstallShield\2012\Language Independent\i386\SetupSuite.exe.
2. Extract SetupSuite.exe from the attached zip file into the folder referenced in step 1.
3. Rebuild any suite projects that need this fix.

Please let us know if you have any issues.
0 Kudos