[wix-users] Burn Protocol for ExePackage Usage

Phill Hogland phill.hogland at rimage.com
Fri Oct 2 06:54:07 PDT 2015


I had a similar though to Keith's, if vcredist is being launched under NT AUTHORITY\SYSTEM, as a service, it gets assigned an isolated WinStation and Desktop, so a dialog prompt does not get displayed to the Interactive desktop, and the app appears to "hang".  Also typically (with exceptions) services do not have windows message pumps or use windows messages which I do not believe allowed to cross Desktop boundaries.  However a typical Burn based bundle has a bootstrapper application which uses windows messages.  When Burn spans a child process CreateProcess is used (rather than CreateProcessAsUser with a WinStation/Desktop defined to the launching process's WinStation\Desktop, as a service would be implemented).  With CreateProcess the child process ends up in a different WinStation\Desktop than the launching process and windows messages appear to hang.  So I suspect launching a bundle under the NT AUTHORITY\SYSTEM  context,  may work in some situations with a careful bundle design, but in general there are many reasons why it may also 'hang' and not work.

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Keith.Douglas at statcan.gc.ca
Sent: Friday, October 02, 2015 8:35 AM
To: wix-users at lists.wixtoolset.org
Subject: Re: [wix-users] Burn Protocol for ExePackage Usage

I'm no expert, but ITSM that it could also potentially be attempting something interactive, as well, like displaying a dialogue box - I had trouble with one of my own MSIs that way (when installing with NT AUTHORITY\SYSTEM) when I accidentally provoked a files-in-use type thing.


Keith Douglas
Statistics Canada | 170 Tunney's Pasture Driveway, Ottawa ON K1A 0T6
Statistique Canada | 170, promenade Tunney's Pasture, Ottawa ON K1A 0T6
Keith.Douglas at statcan.gc.ca
Telephone | Téléphone 613-854-5589
Facsimile | Télécopieur 613-951-4674
Government of Canada | Gouvernement du Canada 


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Phill Hogland
Sent: October-02-15 9:21 AM
To: WiX Toolset Users Mailing List
Subject: Re: [wix-users] Burn Protocol for ExePackage Usage

It seems logical that the vcredist may be expecting access to a user's profile, which would not be loaded in the context of NT AUTHORITY\SYSTEM.  It also seems likely that the vcredist bundle is trying to interact with the network or internet to check for updates, which I do not believe that the NT AUTHORITY\SYSTEM context allows, but these are just guesses.   

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Edwin Castro
Sent: Thursday, October 01, 2015 5:19 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] Burn Protocol for ExePackage Usage

I have found that vcredist completes installing when installed by my bundle when I run my bundle from an elevated command prompt (using my
credentials) on Windows Server 2008. But vcredist gets "stuck" when my bundle is run by the SYSTEM user (think configuration management tool).

I'm not sure yet why vcredist doesn't like getting installed by the SYSTEM user on Windows Server 2008.

--
Edwin G. Castro

On Thu, Oct 1, 2015 at 11:14 AM, Edwin Castro <egcastr at gmail.com> wrote:
> Interesting. I see the problem on Windows Server 2008. So this might 
> be a problem with the interaction of vcredist and Windows Vista / 
> Server 2008?
>
> --
> Edwin G. Castro
>
> On Thu, Oct 1, 2015 at 10:51 AM, Michael Suodenjoki 
> <Michael.Suodenjoki at intrasoft-intl.dk> wrote:
>> Funny, I've seen exactly the same "stuck-behavior" using the vc_redist_x86.exe. The progress-bar just stopped in the midst. Until now I believed it was due to a Windows Update problem as I was testing this on Windows Vista (yes, that old one - but just testing). But perhaps it is a problem with the vc_redist_XX.exe itself?
>>
>> The below illustrate what I presently use - I'm not using the ExePackage/@Protocol attribute.
>>
>> <?xml version="1.0"?>
>> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
>> xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
>> xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
>>
>>   <?include "..\defines.wxi" ?>
>>
>>   <Bundle Name="$(var.ProjectName) $(var.SystemName) $(var.SystemVersion).$(var.SystemRevision)"
>>           Version="$(var.SystemVersion)0.$(var.SystemRevision)" Manufacturer="$(var.CompanyName)"
>>           UpgradeCode="{8F199022-8BC5-4947-9B9F-C95684B42239}">
>>
>>     <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" >
>>       <bal:WixStandardBootstrapperApplication
>>         LicenseFile="$(env.DEV_DIR)\User Documentation\$(env.L)\eula.rtf"
>>         LogoFile="icon.png"
>>         ShowVersion="no"
>>         SuppressOptionsUI="yes" />
>>     </BootstrapperApplicationRef>
>>
>>     <util:RegistrySearch Root="HKLM" 
>> Key="SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0\RuntimeMinimum" 
>> Value="Install" Variable="vcredistinstalled" />
>>
>>     <Chain>
>>       <ExePackage Id="vc_redist.x86.exe"
>>         Name="vc_redist.x86.exe" PerMachine="yes" Permanent="yes" Vital="yes" Compressed="no"
>>         SourceFile="vc_redist.x86.exe"
>>         DownloadUrl="http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
>>         InstallCommand="/q /norestart /ACTION=Install"
>>         RepairCommand="/q ACTION=Repair /hideconsole"
>>         UninstallCommand="/q ACTION=Uninstall /hideconsole"
>>         DetectCondition="vcredistinstalled AND (vcredistinstalled 
>> >= 1)" />
>>
>>       <RollbackBoundary />
>>
>>       <MsiPackage Id="MainPackage" DisplayInternalUI="yes" Vital="yes" Compressed="no" SourceFile="$(var.SourceMsi)"/>
>>     </Chain>
>>   </Bundle>
>> </Wix>
>>
>> /Michael
>>
>> -----Original Message-----
>> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On 
>> Behalf Of Edwin Castro
>> Sent: 1. oktober 2015 19:36
>> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
>> Subject: [wix-users] Burn Protocol for ExePackage Usage
>>
>> When is it appropriate to use ExePackage/@Protocol="burn"?
>>
>> My bundle contains the vcredist_x86.exe and vcredist_x64.exe bundles.
>> I thought the WiX documentation was telling me I should set ExePackage/@Protocol="burn" to get "extended progress and error reporting".
>>
>> Instead the vcredist bundles seem to get "stuck". By stuck I mean that they install their MSIs and then do nothing... The processes are still running but nothing else is getting written to their log files.
>>
>> I assume I'm misunderstanding how ExePackage/@Protocol works. Can somebody help me understand when to set ExePackage/@Protocol and what behavior I should expect?
>>
>> --
>> Edwin G. Castro
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant 
>> http://www.firegiant.com/
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant 
>> http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list