I wasn't particularly satisfied with this answer so I went on a trip through the .wixlib and .wixobj formats, and reverse-engineered the .wxs file used to generate DIFxApp.wixlib. Hopefully find it attached. I then ran this through wixcop to get a v3 .wxs file. I used NetFxExtension.wxs and netfx.wixlib as a guide to how this should work.
 
I haven't built a driver package to verify this - merely run it through candle and lit and checked that the resulting .wixlib bears a close resemblance to the original.
 
Interesting points: the use of IgnoreModularization to prevent a uniqueifier from being prefixed to the custom action names, and therefore ensure that only a single version of the custom action is scheduled - I can imagine disaster ensuing if it happens multiple times. Since this is all in a single <Fragment> all the CustomActions should be included in the resulting MSI, even though MsiInstallDrivers, MsiUninstallDrivers and MsiRollbackInstall aren't referenced in the execution sequence. The documentation for DIFxApp explains why two custom action DLLs are required (http://msdn.microsoft.com/library/default.asp?url="">).
 
--
Mike Dimmick


From: [EMAIL PROTECTED] on behalf of Mike Dimmick
Sent: Sat 23/09/2006 16:03
To: Dennis Roy; wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] DifxApp

The only suggestion I can make at the moment is simply to use an older version of WiX. The supported version of DIFxApp seems to be the WiX 2.0 version in the WDK. To use WiX 3.0 you'll need to wait until the team gets their .wixlib back in the build.
 
I've opened a bug at SourceForge.
 
--
Mike Dimmick


From: Dennis Roy [mailto:[EMAIL PROTECTED]
Sent: Fri 22/09/2006 18:25
To: Mike Dimmick; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] DifxApp

 

Linking in the DifXApp.wixlib got me beyond that point.  The caps on the MSI was just me. 

I can build it with no warnings or errors with version 3.0.1319.0.  If I change the sources to use the newer version with the Driver element schema I get the following issues.

 

Version 3.0.1821.0 :  I get error LGHT0204 : ICE03: Value not a member of the set; Table:MsiDriverPackages, Column: Flags, Key(s): <ComponentId of the driver component> I’m using the same values I used with the v3.0.1319 file just moved them to the Driver element and renamed the attributes to match the schema for the Driver element.  Any suggestions?

 

Version 3.0.2015.0 ( after running wixcop to update the xmlns ) : error LGHT0141 : The library file format version 2.0.2207.0 is not compatible with the expected library file format version 3.0.2002.0.

I can’t find a different DifXApp.wix.lib file to use.  Any suggestions where to get it?

 

 

Thanks

Dennis


From: Mike Dimmick [mailto:[EMAIL PROTECTED]
Sent: Thursday, September 21, 2006 5:00 PM
To: Dennis Roy; wix-users@lists.sourceforge.net
Subject: RE: [WiX-users] DifxApp

 

 


From: [EMAIL PROTECTED] on behalf of Dennis Roy
Sent: Thu 21/09/2006 21:04
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] DifxApp

I sent this to wix-devs and then realized is should probably go to wix-users.

 

I get an error LGHT0094 : Unresolved reference to symbol ‘CustomAction:MSIProcessDrivers’ in section ‘Fragment:’.  When trying run light on my project.  The command line I’m running is light –ext WixDifxAppExtension –out install.msi *.wixobj .  I’m using version 3.0.2015.  Any suggestions as to what I’m doing wrong.

 

Thanks

Dennis

 

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2003/01/wi";>
  <Fragment>
    
    <IgnoreModularization Name="MsiProcessDrivers" Type="Action" />
    <IgnoreModularization Name="MsiInstallDrivers" Type="Action" />
    <IgnoreModularization Name="MsiRollbackInstall" Type="Action" />
    <IgnoreModularization Name="MsiCleanupOnSuccess" Type="Action" />
    <IgnoreModularization Name="MsiUninstallDrivers" Type="Action" />

    <InstallExecuteSequence>
      <Custom Action="MsiProcessDrivers" After="InstallFiles" />
      <Custom Action="MsiCleanupOnSuccess" After="InstallFinalize" />
    </InstallExecuteSequence>
    
    <Binary Id="DIFxApp.dll" SourceFile="DIFxApp.dll" />
    <Binary Id="DIFxAppA.dll" SourceFile="DIFxAppA.dll" />

    <CustomAction Id="MsiProcessDrivers" BinaryKey="DIFxApp.dll" 
DllEntry="ProcessDriverPackages" Execute="immediate" Return="check" />
    <CustomAction Id="MsiInstallDrivers" BinaryKey="DIFxAppA.dll" 
DllEntry="InstallDriverPackages" Execute="deferred" Impersonate="no" 
Return="check" />
    <CustomAction Id="MsiUninstallDrivers" BinaryKey="DIFxAppA.dll" 
DllEntry="UninstallDriverPackages" Execute="deferred" Impersonate="no" 
Return="check" />
    <CustomAction Id="MsiCleanupOnSuccess" BinaryKey="DIFxApp.dll" 
DllEntry="CleanupOnSuccess" Execute="immediate" Return="check" />
    <CustomAction Id="MsiRollbackInstall" BinaryKey="DIFxAppA.dll" 
DllEntry="RollbackInstall" Execute="rollback" Impersonate="no" Return="check" />

  </Fragment>
</Wix>
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";>
    <Fragment>

        <InstallExecuteSequence>
            <Custom Action="MsiProcessDrivers" After="InstallFiles" />
            <Custom Action="MsiCleanupOnSuccess" After="InstallFinalize" />
        </InstallExecuteSequence>

        <Binary Id="DIFxApp.dll" SourceFile="DIFxApp.dll" />
        <Binary Id="DIFxAppA.dll" SourceFile="DIFxAppA.dll" />

        <CustomAction Id="MsiProcessDrivers" BinaryKey="DIFxApp.dll" 
DllEntry="ProcessDriverPackages" Execute="immediate" Return="check" 
SuppressModularization="yes" />
        <CustomAction Id="MsiInstallDrivers" BinaryKey="DIFxAppA.dll" 
DllEntry="InstallDriverPackages" Execute="deferred" Impersonate="no" 
Return="check" SuppressModularization="yes" />
        <CustomAction Id="MsiUninstallDrivers" BinaryKey="DIFxAppA.dll" 
DllEntry="UninstallDriverPackages" Execute="deferred" Impersonate="no" 
Return="check" SuppressModularization="yes" />
        <CustomAction Id="MsiCleanupOnSuccess" BinaryKey="DIFxApp.dll" 
DllEntry="CleanupOnSuccess" Execute="immediate" Return="check" 
SuppressModularization="yes" />
        <CustomAction Id="MsiRollbackInstall" BinaryKey="DIFxAppA.dll" 
DllEntry="RollbackInstall" Execute="rollback" Impersonate="no" Return="check" 
SuppressModularization="yes" />

    </Fragment>
</Wix>
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to