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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users