Hello!
My problem:
When I execute my bundle installer.exe, which fits several msi packages
(applications & drivers), a second installer dialog is opened
additionally at the end of the installation (First installation dialog is still
open).
This only happens on Windows 7 x86 systems and not on x64 systems.
I also figured out, that it comes from a driver msi package, but I don't know
why.
After a web research I found the following [Nov. 07. 2013]:
1. Burn adds a RunOnce entry automatically every time it starts, and it removes
it when it ends if no reboot has been requested by any of the packages.
2. The driver installation either uses an InstallFromHinfSection or calls
DIF_INSTALLDEVICE, either directly or indirectly.
3. Windows processes all of the RunOnce entries before Burn has exited/removed
its RunOnce entry.
Is this still an issue, or already fixed??
bundle wsx snippet:
...
..
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="eula.rtf"
LogoFile ="xxx.jpg"
ThemeFile="CustRtfTheme.xml"
/>
</BootstrapperApplicationRef>
<!-- Contents of the bundle goes here -->
<Chain>
<MsiPackage
Name='xxx-Setup-$(sys.BUILDARCH).msi'
Vital='yes'
Visible ='yes'
Cache ='no'
ForcePerMachine ='yes'
InstallCondition = 'CheckAPI'
/>
<MsiPackage
Name='driver-$(sys.BUILDARCH).msi'
Vital='yes'
Visible ='yes'
Cache ='no'
ForcePerMachine ='yes'
InstallCondition = 'CheckFDrv'
/>
...
..
driver.wxs snippet: (makes the problem in bundle installation .. single msi
installation is ok!!)
..
.
<!-- Step 2: Add files to the installer package -->
<DirectoryRef Id="Drivers" >
<Component Id="MyDriverSys" Guid="22F548F6-59B5-4D23-B0CB-2021C645178F"
Win64='$(var.Win64)'>
<File Id='my.sys' Source='$(var.drvsrcdir)my.sys' Name='my.sys'
DiskId='1' Vital='yes' KeyPath='yes'/>
</Component>
</DirectoryRef>
<DirectoryRef Id='INSTALLDIR'>
<Component Id='MyDriver' Guid='62479EA8-5CB2-440e-A860-4F06172C821E'
Win64='$(var.Win64)'>
<File Id='my.inf' Source='$(var.drvsrcdir)my.inf' Name='my.inf'
DiskId='1' Vital='yes' />
<File Id='my.cat' Source='$(var.drvsrcdir)my.cat' Name='my.cat'
DiskId='1' Vital='yes' />
</Component>
</DirectoryRef>
<!-- Step 3: Tell Windows Installer to install the files -->
<Feature Id='Complete' Level='1'>
<ComponentRef Id='MyDriverSys' />
<ComponentRef Id='MyDriver' />
<ComponentRef Id='MyBridgeUpdater' />
</Feature>
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallInitialize"/>
<Custom Action="RegisterMyDriverService" After="InstallFiles">NOT
Installed</Custom>
<Custom Action="RemoveMyFilters"
Before="RemoveMyDriverService">Installed</Custom>
<Custom Action="RemoveMyDriverService"
Before="RemoveExistingProducts">Installed</Custom>
</InstallExecuteSequence>
<UIRef Id="WixUI_Minimal" />
<!-->Register the enclosure kernel driver service.<-->
<!-->Manually adding the entry into HKLM\SYSTEM\CurrentControlSet\services
doesn't seem to work...<-->
<Property Id="RunDllEXE">rundll32.exe</Property>
<CustomAction Id="RegisterMyDriverService" Property="RunDllEXE"
ExeCommand="setupapi.dll,InstallHinfSection DefaultInstall 128
[#dwencdrv.inf]"
Return="ignore" Execute="deferred" Impersonate="no"/>
<CustomAction Id="RemoveMyDriverService" Property="RunDllEXE"
ExeCommand="setupapi.dll,InstallHinfSection DefaultUninstall 128
[#dwencdrv.inf]"
Return="ignore" Execute="deferred" Impersonate="no"/>
..
.
--
with best regards / mit freundlichen Grüßen
Marco
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users