I only had success using DIFxAPP when scheduling RemoveExistingProducts
after InstallFinalize (I never tried just before InstallFinalize in that
product). I was never able to get it to upgrade properly in a reliable
fashion when scheduling removal early.

-----Original Message-----
From: Bruce Cran [mailto:br...@cran.org.uk] 
Sent: Friday, January 15, 2010 10:52 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] Problems with DIFxAPP and major upgrade

Hi,

I'm having problems doing a major upgrade. I'm using WiX 3.5 to install a
driver using DIFxAPP and start it using ServiceControl:

<Component Id="sctp.sys" Win64="$(var.Win64)"
Guid="fa538c80-6b0b-4736-b479-a3dce8f8a6a8">
        <File Id="sctp.sys" Name="sctp.sys" KeyPath="yes" Checksum="yes"
                Source="bin\$(env.BUILD_ALT_DIR)\sctp.sys" />
        <RegistryKey Action='createAndRemoveOnUninstall' Id='eventlog'
Root='HKLM'
        
Key='System\CurrentControlSet\Services\Eventlog\System\sctp'>
                <RegistryValue Id='EventMessageFile' Name='EventMessageFile'
Type='expandable'
                        Value='%SystemRoot%\System32\drivers\sctp.sys'/>
                <RegistryValue Id='TypesSupported' Name='TypesSupported'
Type='integer' Value='7'/>
        </RegistryKey>
        <difx:Driver Legacy="yes"/>
        <ServiceControl Id="sctp_service" Name="Sctp" Start="install"
Stop="both" Remove="uninstall" Wait="no"/>
</Component>

Everything goes well during an installation, but I've seen issues both
during uninstall and a major upgrade:
if I try and uninstall SctpDrv before the DIFx driver package, it claims to
have failed but it does complete the
uninstallation; during a major upgrade it removes the previous version but
fails to complete the 
upgrade, with DIFxAPP erroring out with:

DIFXAPP: ERROR:  Unable to revert to a previous driver store for service
'Sctp'.
DIFXAPP: ERROR:  Will attempt to uninstall the driver.
DIFXAPP: ERROR:  Error unable to open service 'Sctp' to delete it because of
error 0x424
DIFXAPP: ERROR:  Error occurred while deleting service to uninstall the
driver store.
DIFXAPP: ERROR:  We were unable to install any other driver store entry to
support the service Sctp and we also failed to delete the service.
DIFXAPP: ERROR:  Failed to uninstall the driver. Attempting to undo system
changes ... (Error code 0x643: Fatal error during installation.)

It leaves the driver package entry present, but with SctpDrv uninstalled.

the only strange thing I've noticed is that the driver and netshell helper
is listed twice in the list of components:

MSI (s) (44:C0) [17:09:02:640]: Feature: Complete; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: ws2sctp.h; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: echo_client.c; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: echo_server.c; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: echo_server2.c; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: spinstall.exe; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: echo_client.exe; Installed:
Local;   Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: echo_server.exe; Installed:
Local;   Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctpmon.dll; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctp.inf; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctp.cat; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctp.sys; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctpsp.lib; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: libsctpsp.a; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: README.txt; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: CHANGES.txt; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: SctpDrv.chm; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: sctpsp32.dll; Installed: Local;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: __sctpmon.dll65; Installed: Null;
Request: Absent;   Action: Absent
MSI (s) (44:C0) [17:09:02:640]: Component: __sctp.sys65; Installed: Null;
Request: Absent;   Action: Absent

Am I misunderstanding how to use DIFxAPP, or is there another problem with
my WiX sources?

The Upgrade section I'm using is:

<Upgrade Id="$(var.UpgradeCode)">
        <UpgradeVersion
Minimum="$(var.VersionMajor).$(var.VersionMinor).$(var.VersionRev)"
                IncludeMinimum="no"
                OnlyDetect="yes"
                Language="$(var.Language)"
                Property="NEWPRODUCTFOUND"/>
        <UpgradeVersion Minimum="1.1.0"
                IncludeMinimum="yes"
        
Maximum="$(var.VersionMajor).$(var.VersionMinor).$(var.VersionRev)"
                IncludeMaximum="no"
                Language="$(var.Language)"
                Property="UPGRADEFOUND"/>
</Upgrade>

with RemoveExistingProducts scheduled after InstallInitialize.

The msi log is available at
http://www.bluestop.org/SctpDrv/tmp/msi_log_20100115.txt - the source file 
containing the components is at
http://www.bluestop.org/viewvc/repos/sctpDrv/wix/module-common.wxs?revision=
44&view=markup .

-- 
Bruce Cran




----------------------------------------------------------------------------
--
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for
Conference
attendees to learn about information security's most important issues
through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to