Hans Leidekker
|
462ec1ba43
|
msi: Return correct length for the empty string from deformat_string.
|
2012-11-07 18:12:08 +01:00 |
|
Frédéric Delanoy
|
85bf1082ce
|
msi: Fix some leaks (coverity).
|
2012-11-07 13:56:03 +01:00 |
|
Hans Leidekker
|
cfadbddcaf
|
msi: Avoid a crash when target paths have not yet been resolved.
|
2012-11-06 20:00:27 +01:00 |
|
Frédéric Delanoy
|
84541cc5e3
|
msi: Fix a leak (coverity).
|
2012-11-05 17:44:19 +01:00 |
|
Hans Leidekker
|
7d3f903db1
|
msi: Fix handling of REG_MULTI_SZ values in the WriteRegistryValues action.
|
2012-11-05 17:44:18 +01:00 |
|
Hans Leidekker
|
570322069c
|
msi: Preserve strings with embedded nulls in the record formatting implementation.
|
2012-11-05 17:44:18 +01:00 |
|
Hans Leidekker
|
8d21f998c3
|
msi: Fix handling of strings with embedded nulls in msi_addstring.
|
2012-11-05 17:44:17 +01:00 |
|
Hans Leidekker
|
31ea3f44dd
|
msi: Return length for the empty string in msi_string_lookup.
|
2012-11-02 19:47:30 +01:00 |
|
Hans Leidekker
|
af08a2f6ba
|
msi: Pass string length to msi_set_property in ACTION_CustomAction.
|
2012-10-29 14:41:55 +01:00 |
|
Hans Leidekker
|
52a87c9054
|
msi: Add a length parameter to msi_strcpy_to_awstring and use it where appropriate.
|
2012-10-29 14:41:49 +01:00 |
|
Hans Leidekker
|
2a31a3c057
|
msi: Don't create a copy of deferred custom action data.
|
2012-10-29 14:41:44 +01:00 |
|
Hans Leidekker
|
929d234072
|
msi: Return length instead of size from deformat_string.
|
2012-10-29 14:41:41 +01:00 |
|
Hans Leidekker
|
0f1d3474a8
|
msi: Add a length parameter to msi_set_property and use it where appropriate.
|
2012-10-29 14:41:36 +01:00 |
|
Hans Leidekker
|
a7ff2818fe
|
msi: Preserve strings with embedded nulls when copying from a record to the string table.
|
2012-10-29 14:41:21 +01:00 |
|
Hans Leidekker
|
9588deb54c
|
msi: Preserve strings with embedded nulls when copying from the string table to a record.
|
2012-10-29 14:41:16 +01:00 |
|
Hans Leidekker
|
32aed60786
|
msi: Preserve strings with embedded nulls in the record implementation.
|
2012-10-29 14:41:04 +01:00 |
|
Hans Leidekker
|
8d28cc0ac7
|
msi: Get rid of MSI_RecordSetStringA.
|
2012-10-29 14:40:55 +01:00 |
|
Hans Leidekker
|
9aa23c6c77
|
msi: Store string length in the record structure.
|
2012-10-29 14:40:46 +01:00 |
|
Hans Leidekker
|
6950ac1d1c
|
msi: Add support for storing strings with embedded nulls in the string table.
|
2012-10-29 14:40:40 +01:00 |
|
Hans Leidekker
|
652863f4d5
|
msi: Add more tests for embedded nulls in string property values.
|
2012-10-29 14:40:31 +01:00 |
|
Hans Leidekker
|
a1c4d2c977
|
msi: Add a test for embedded nulls in string property values.
|
2012-10-29 14:40:18 +01:00 |
|
André Hentschel
|
1e361aa8cb
|
msi/tests: Make multiline macros blocks (coverity).
|
2012-10-24 11:33:00 +02:00 |
|
Jacek Caban
|
3b9a13e94c
|
msi: Make script Session object visible by name.
|
2012-09-18 14:48:24 +02:00 |
|
Jacek Caban
|
645ce64196
|
msi: Choose the right IActiveScriptParse* interface based on process type.
|
2012-09-18 14:48:19 +02:00 |
|
Hans Leidekker
|
dd8f54a49f
|
msi: Don't reinstall components shared with other products.
|
2012-09-13 13:56:39 +02:00 |
|
Hans Leidekker
|
1ee3be6e80
|
msi: Only remove a component if the number of clients drops to zero.
|
2012-09-11 18:07:29 +02:00 |
|
Marcus Meissner
|
b9550ad352
|
msi: Move free after last usage (Coverity).
|
2012-09-06 18:23:40 +02:00 |
|
Jacek Caban
|
e679471885
|
Always define WIDL_C_INLINE_WRAPPERS.
|
2012-08-28 14:41:13 +02:00 |
|
Michael Stefaniuc
|
5974e9d120
|
msi/tests: Avoid a TRUE:FALSE conditional expression.
|
2012-08-15 12:12:49 +02:00 |
|
Hans Leidekker
|
842525f423
|
msi: Try the registered install location first when resolving the target directory.
|
2012-08-13 11:45:15 +02:00 |
|
Hans Leidekker
|
b7cefc9997
|
msi: Avoid an out of bounds access in msi_build_directory_name.
|
2012-08-13 11:45:11 +02:00 |
|
Hans Leidekker
|
f180de40dd
|
msi: Implement the RemoveExistingProducts standard action.
|
2012-07-31 18:01:54 +02:00 |
|
Vincent Povirk
|
b8812afd33
|
msi: Stub Migrate10CachedPackagesW.
|
2012-07-31 10:52:53 +02:00 |
|
Hans Leidekker
|
6a588baaf7
|
msi: Use inline wrappers for calling COM methods.
|
2012-07-27 17:05:32 +02:00 |
|
Hans Leidekker
|
108d5927d0
|
msi: Use the right interface to call 32-bit and 64-bit custom action scripts.
|
2012-07-27 17:05:32 +02:00 |
|
Detlef Riekenberg
|
a7e1b7c6ea
|
msi/tests: Use always static binding for GetTokenInformation.
|
2012-07-27 17:05:20 +02:00 |
|
Hans Leidekker
|
cbd83d0307
|
msi/tests: Mark some test results as broken.
|
2012-07-16 19:34:40 +02:00 |
|
Hans Leidekker
|
32fa9db888
|
msi: Don't hard-code the ServicePackLevel property.
|
2012-07-09 15:06:42 -04:00 |
|
Hans Leidekker
|
f55ee1a212
|
msi: Don't crash if no working directory is specified for custom action type 34.
|
2012-07-09 15:06:35 -04:00 |
|
Francois Gouget
|
7f0cfac5cc
|
msi/tests: Get rid of unneeded function typedefs.
|
2012-06-15 18:35:37 +02:00 |
|
Hans Leidekker
|
a17ca16495
|
msi: Keep assembly caches loaded until the package is destroyed.
|
2012-06-12 10:22:24 +02:00 |
|
Hans Leidekker
|
3480ccbbb4
|
msi: Always load mscoree.dll from the system directory.
|
2012-06-12 10:22:15 +02:00 |
|
Hans Leidekker
|
458f6b7ccd
|
msi: Don't fail if no .NET runtime is available.
|
2012-06-12 10:22:04 +02:00 |
|
Hans Leidekker
|
f6f1bfd6fb
|
msi/tests: Use only uppercase characters for the PID_REVNUMBER property.
|
2012-06-12 10:21:55 +02:00 |
|
Hans Leidekker
|
0ed61000d3
|
msi: Support registry key names that exceed 255 characters.
|
2012-06-11 21:03:48 +02:00 |
|
Hans Leidekker
|
fc2c8a215f
|
msi: Fail if a registry key cannot be created.
|
2012-06-11 21:03:48 +02:00 |
|
Hans Leidekker
|
fd0c2dabdf
|
msi: Ignore the value if a registry value name is special.
|
2012-06-11 21:03:47 +02:00 |
|
Hans Leidekker
|
f0ea60049c
|
msi: Add support for 64-bit registry components.
|
2012-06-11 21:03:47 +02:00 |
|
Hans Leidekker
|
e16bcda486
|
msi: Don't create empty values for special registry entries.
|
2012-05-31 12:37:22 +02:00 |
|
Hans Leidekker
|
c959e38625
|
msi: Don't terminate the string in msi_id2stringA.
This makes sure that the last string can be fully written when saving the
string table.
|
2012-05-31 12:37:22 +02:00 |
|
Hans Leidekker
|
35b9594244
|
msi: Add support for version 4.0 of the .NET runtime.
|
2012-05-17 17:21:42 +02:00 |
|
Hans Leidekker
|
d6105eaa1f
|
msi: Use the correct function pointer in msi_init_assembly_caches.
|
2012-05-17 17:21:28 +02:00 |
|
Hans Leidekker
|
11daa6aad5
|
msi: Break out of the loop as soon as the assembly is detected in msi_load_assembly.
|
2012-05-17 17:21:25 +02:00 |
|
Michael Stefaniuc
|
49add07795
|
msi/tests: Test the correct return values.
|
2012-05-17 10:18:11 +02:00 |
|
Francois Gouget
|
fac36c55e9
|
Assorted typo, spelling, wording and case fixes.
|
2012-05-15 16:26:43 +02:00 |
|
Hans Leidekker
|
4b32c09376
|
msi: Add support for the ActionInfo progress message subtype.
|
2012-05-15 16:26:38 +02:00 |
|
Hans Leidekker
|
6c7d0993f0
|
msi: Add support for the ProgressAddition progress message subtype.
|
2012-05-15 16:26:37 +02:00 |
|
Hans Leidekker
|
022915f75b
|
msi: Don't hide failure of script custom actions.
|
2012-05-15 16:26:37 +02:00 |
|
Hans Leidekker
|
32c7a52f5c
|
msi: Resolve the target path for the ODBC driver file if necessary.
|
2012-05-08 16:21:40 +02:00 |
|
Alexandre Julliard
|
720a37d778
|
msi/tests: Skip MsiEnumProductsEx tests if not supported.
|
2012-05-03 23:31:43 +02:00 |
|
Francois Gouget
|
1bf438ab29
|
msi: Tweak msiexec's usage message.
|
2012-05-03 11:51:38 +02:00 |
|
Hans Leidekker
|
9700e9c7a6
|
msi: Fix a couple of DispGetParam calls.
|
2012-05-01 14:50:03 +02:00 |
|
Hans Leidekker
|
c3e3c81bfb
|
msi: Add the Session object as a global member to custom action scripts.
|
2012-05-01 14:49:58 +02:00 |
|
Hans Leidekker
|
52738e4f93
|
msi: Remove a workaround for missing Windows Script interfaces.
|
2012-05-01 14:49:52 +02:00 |
|
Hans Leidekker
|
605e0b7b41
|
msi: Add support for uninstalling global assemblies.
|
2012-04-30 11:02:28 +02:00 |
|
Hans Leidekker
|
89e95aa92c
|
msi: Avoid a crash in get_registered_local_package.
|
2012-04-26 19:26:41 +02:00 |
|
Hans Leidekker
|
fde66de6a5
|
msi: Don't free cached tables in MsiDatabaseCommit.
|
2012-04-26 19:26:37 +02:00 |
|
Hans Leidekker
|
c8bb335990
|
msi: Check supported languages in the AppSearch action.
|
2012-04-23 17:55:28 +02:00 |
|
Hans Leidekker
|
52f3d5bead
|
msi: Remove child folders first in the RemoveFolders action.
|
2012-04-23 17:55:21 +02:00 |
|
Hans Leidekker
|
2e5bf9ca06
|
msi: Dynamically allocate the path buffer in MsiQueryComponentStateW.
|
2012-04-23 17:55:18 +02:00 |
|
Hans Leidekker
|
cf1cb30dfa
|
msi: Initialize hkey in msi_comp_find_prod_key.
|
2012-04-23 17:55:14 +02:00 |
|
Hans Leidekker
|
f1af03fa16
|
msi: Reduce the indentation level in ACTION_GetComponentInstallStates.
|
2012-04-23 17:55:10 +02:00 |
|
Francois Gouget
|
f5a5cc067a
|
msi: Make create_record() static.
|
2012-04-20 12:00:33 +02:00 |
|
Hans Leidekker
|
a7137ef035
|
msi: Remove an unneeded assignment.
|
2012-04-20 11:59:43 +02:00 |
|
Hans Leidekker
|
2b9be70975
|
msi/tests: Fix some leaks.
|
2012-04-20 11:59:39 +02:00 |
|
Hans Leidekker
|
2e51464e4d
|
msi/tests: Add a test for MsiEnumProductsEx.
|
2012-04-20 11:59:35 +02:00 |
|
Hans Leidekker
|
fc73c9db0a
|
msi: Fix install state detection for registry components.
|
2012-04-20 11:59:26 +02:00 |
|
Robert van Herk
|
f87c4a36dd
|
msi: Fixed MsiGetFileHashW for empty files.
|
2012-04-06 20:40:59 +02:00 |
|
Hans Leidekker
|
dd205230a0
|
msi: Keep the UI level fixed during the lifetime of a package.
|
2012-04-05 17:53:20 +02:00 |
|
Hans Leidekker
|
350449fc43
|
msi: Suspend the installation if an action sets MSIRUNMODE_REBOOTNOW.
|
2012-04-02 13:30:41 +02:00 |
|
Hans Leidekker
|
15ee85dee8
|
msi: Implement MsiGet/SetMode(MSIRUNMODE_REBOOTNOW).
|
2012-04-02 13:30:36 +02:00 |
|
Hans Leidekker
|
a6b3d77021
|
msi: Use the state parameter passed to MsiSetMode.
|
2012-04-02 13:30:28 +02:00 |
|
Hans Leidekker
|
89c80c41ea
|
msi: Rename the need_reboot flag to need_reboot_at_end.
|
2012-04-02 13:30:24 +02:00 |
|
Hans Leidekker
|
f01cd3a36d
|
msi/tests: Add tests for MsiEnumComponents and MsiEnumComponentsEx.
|
2012-04-02 12:34:38 +02:00 |
|
Hans Leidekker
|
25b7228274
|
msi: Reimplement MsiEnumComponents on top of MsiEnumComponentsEx.
|
2012-04-02 12:34:28 +02:00 |
|
Hans Leidekker
|
8cebf01702
|
msi: Implement MsiEnumComponentsEx.
|
2012-04-02 12:34:24 +02:00 |
|
Hans Leidekker
|
8ea5266915
|
msi: Detect installed side-by-side assemblies.
|
2012-03-30 10:45:26 +02:00 |
|
Hans Leidekker
|
ccad8e9d80
|
msi/tests: Reduce code duplication in the feature/component state tests.
|
2012-03-28 19:05:02 +02:00 |
|
Hans Leidekker
|
3f1e3008ea
|
msi: Clear the cert pointer in MsiGetFileSignatureInformation.
|
2012-03-28 17:37:44 +02:00 |
|
Hans Leidekker
|
d351a9999e
|
msi: Also set the Intel property on 64-bit processors.
|
2012-03-28 17:37:41 +02:00 |
|
Andoni Morales Alastruey
|
342fcb6198
|
msi: Implement MSIMODIFY_MERGE function in TABLE_modify.
|
2012-03-28 11:44:52 +02:00 |
|
Hans Leidekker
|
280af52666
|
msi: Mask off modifiers before setting the UILevel property.
Spotted by Aric Stewart.
|
2012-03-26 18:15:03 +02:00 |
|
Hans Leidekker
|
9b2b760ea9
|
msi: Get the UI level from the global variable instead of the property.
|
2012-03-26 18:15:03 +02:00 |
|
André Hentschel
|
c000cbaf49
|
msi: Allow ARM installations.
|
2012-03-26 12:41:27 +02:00 |
|
Hans Leidekker
|
45a62d53b6
|
msi: Restrict the match on files from cabinets to files that have not been installed.
|
2012-03-16 16:27:38 +01:00 |
|
Hans Leidekker
|
c98bf1b57b
|
msi: Fix deleting services on installation.
Based on a patch by Berhard Loos.
|
2012-03-13 13:30:11 +01:00 |
|
Hans Leidekker
|
fa2420d696
|
msi: Perform a case insensitive match on filenames from cabinets.
|
2012-03-12 16:37:24 +01:00 |
|
Hans Leidekker
|
0f40d2624d
|
msi: Reimplement MsiEnumProducts on top of MsiEnumProductsEx.
|
2012-03-12 16:37:24 +01:00 |
|
Hans Leidekker
|
a4c20dc437
|
msi: Implement MsiEnumProductsEx.
|
2012-03-12 16:37:23 +01:00 |
|
Hans Leidekker
|
531cab9feb
|
msi: Deformat the description field of INSTALLMESSAGE_ACTIONDATA messages.
|
2012-03-12 16:37:22 +01:00 |
|
Hans Leidekker
|
98c621c1bf
|
msi: Use the return value of IXMLDOMNode_get_text (clang).
|
2012-02-06 10:19:37 -06:00 |
|
Hans Leidekker
|
bb0b467366
|
msi: Avoid a null pointer dereference in MsiGetFileVersionW (clang).
|
2012-02-06 10:19:30 -06:00 |
|
Hans Leidekker
|
bca0fd6a55
|
msi: Follow the parent state for preselected features unless the parent is an advertised feature.
|
2012-02-05 09:38:12 -06:00 |
|
Stefan Leichter
|
f3caa76846
|
msi: Update version resource.
|
2012-01-30 20:44:49 +01:00 |
|
Frédéric Delanoy
|
ca4fdc57ed
|
msi: Avoid dead code in parse_prop (Coverity).
|
2012-01-30 11:59:44 +01:00 |
|
Frédéric Delanoy
|
8ef373a7f2
|
msi: Avoid dead code in parse_prop (Coverity).
|
2012-01-25 11:24:58 +01:00 |
|
Hans Leidekker
|
c8e8f44168
|
msi: Use the column count specified in the table transform data.
It can be smaller than the number of columns found in the table meta data.
|
2012-01-24 16:57:32 +01:00 |
|
Francois Gouget
|
47f45d793d
|
Use a single space after a full stop to follow the Windows GUI guidelines.
|
2012-01-23 16:07:03 +01:00 |
|
Hans Leidekker
|
fcce720a2f
|
msi: Don't evaluate msidbFeatureAttributesFollowParent when features are preselected.
|
2012-01-23 15:59:54 +01:00 |
|
Hans Leidekker
|
09a49fd784
|
msi: Pass the file identifier instead of the filename in action data for SelfRegModules/SelfUnregModules.
|
2012-01-20 16:01:48 +01:00 |
|
Hans Leidekker
|
d20c69c54d
|
msi: Don't parse the format string when building the shortcut target path.
It's no longer necessary because target paths are always normalized.
|
2012-01-19 21:08:51 +01:00 |
|
Hans Leidekker
|
9336c10619
|
msi: Make sure target paths are normalized.
Fix for the Lotus Notes 6.5.1 installer.
|
2012-01-18 16:25:21 +01:00 |
|
Nikolay Sivov
|
3b60c2c0d1
|
msi: Support test for aplicable patch of MSIPATCH_DATATYPE_XMLPATH type.
|
2012-01-18 12:37:37 +01:00 |
|
Nikolay Sivov
|
123eba2801
|
msi: Support MSIPATCH_DATATYPE_XMLBLOB when testing for applicable patch.
|
2012-01-18 12:37:37 +01:00 |
|
Nikolay Sivov
|
5cbe5faf49
|
msi: Create the rest of objects with separate helpers.
|
2012-01-17 19:13:55 +01:00 |
|
Nikolay Sivov
|
576aa0e6d0
|
msi: Use data table for dispid tests.
|
2012-01-16 13:13:23 +01:00 |
|
Nikolay Sivov
|
8a012ff4f7
|
msi: Implement list on top of general object.
|
2012-01-16 13:13:13 +01:00 |
|
Nikolay Sivov
|
07058e0068
|
msi: Add a helper to create database object.
|
2012-01-16 13:12:51 +01:00 |
|
Nikolay Sivov
|
ff3ed0e5ea
|
msi: Add null terminator to typelib name.
|
2012-01-16 13:12:41 +01:00 |
|
Nikolay Sivov
|
b79311b175
|
msi: Create installer object initializing automation object data.
|
2012-01-16 13:12:25 +01:00 |
|
Nikolay Sivov
|
9505a1bf28
|
msi: Implement session object directly on top of automation object.
|
2012-01-16 13:12:14 +01:00 |
|
Nikolay Sivov
|
9687c29cc5
|
msi: COM cleanup for automation object implementation.
|
2012-01-16 13:11:28 +01:00 |
|
Hans Leidekker
|
bc801f85be
|
msi: Set the SourceDir and SOURCEDIR properties in MsiGetSourcePath.
|
2012-01-16 12:45:34 +01:00 |
|
Hans Leidekker
|
4ef765cb4e
|
msi: Don't try to ready media for files from a previous installation or files that will be skipped.
|
2012-01-10 18:29:05 +01:00 |
|
Hans Leidekker
|
c7e5f0331f
|
msi: Downgrade an error.
|
2012-01-10 18:29:04 +01:00 |
|
Hans Leidekker
|
b13195ce4e
|
msi: Fix detection of installed global assemblies.
|
2012-01-10 18:29:04 +01:00 |
|
Hans Leidekker
|
b00e7039c5
|
msi: Execute custom actions in the right script.
|
2012-01-06 21:57:40 +01:00 |
|
Hans Leidekker
|
de11a50b91
|
msi: Don't crash on secondary root folders in msi_resolve_target_folder.
|
2012-01-05 20:54:25 +01:00 |
|
Hans Leidekker
|
2a19021610
|
msi: VolumeLabel and DiskPrompt are optional fields in the Media table.
|
2012-01-03 18:07:15 +01:00 |
|
Hans Leidekker
|
4def593456
|
msi: Accept a missing left backquote in SQL identifiers.
|
2012-01-03 18:07:08 +01:00 |
|
Hans Leidekker
|
ca49aae61e
|
msi: Fix handling of single quoted column names in SELECT queries.
|
2011-12-23 15:12:18 +01:00 |
|
Hans Leidekker
|
bde25b2cb4
|
msi: Use a common function to validate a product ID.
|
2011-12-23 15:12:11 +01:00 |
|
Hans Leidekker
|
ad4f747fa6
|
msi: Fix changing media for normal files.
|
2011-12-23 15:12:06 +01:00 |
|
Hans Leidekker
|
8cc5561fbf
|
msi: Don't run the rollback script in reinstall mode.
|
2011-12-13 18:59:15 +01:00 |
|
Hans Leidekker
|
8a5c700d78
|
msi: Pass REINSTALL and REINSTALLMODE properties on the command line in MsiReinstallFeatureW.
|
2011-12-13 18:59:14 +01:00 |
|
Hans Leidekker
|
12e106613a
|
msi: Don't set the LOGVERBOSE property in MsiReinstallFeatureW.
|
2011-12-13 18:59:14 +01:00 |
|
Hans Leidekker
|
1f56b60cc4
|
msi: Don't set the Installed property in MsiReinstallFeatureW.
This property will be set later.
|
2011-12-13 18:59:13 +01:00 |
|
Hans Leidekker
|
00477d601e
|
msi: Support all install contexts in MsiReinstallFeatureW.
|
2011-12-13 18:59:13 +01:00 |
|
Hans Leidekker
|
973e86b844
|
msi: Move some traces from implementations to entry points.
|
2011-12-13 18:59:12 +01:00 |
|
Hans Leidekker
|
0f3eb5f689
|
msi: Format the value name from the RegLocator table.
|
2011-12-12 15:50:39 +01:00 |
|
Hans Leidekker
|
75242afefd
|
msi/tests: Try harder to remove a shortcut file.
|
2011-12-06 15:51:01 +01:00 |
|
Hans Leidekker
|
cd4432bc9b
|
msi: Make sure to keep a reference to custom action data until the actions are finished.
|
2011-12-06 15:51:00 +01:00 |
|
Hans Leidekker
|
39b7e6e50c
|
msi: Resolve the target folder if necessary in msi_get_target_folder.
|
2011-12-01 14:18:22 +01:00 |
|
Hans Leidekker
|
959ebdb118
|
msi: Split up delete_reg_key_or_value.
|
2011-12-01 14:18:14 +01:00 |
|
Francois Gouget
|
51a256e65f
|
Assorted spelling fixes and wording tweaks.
|
2011-11-28 16:40:50 +01:00 |
|
Hans Leidekker
|
3ad3a184d5
|
msi: Perform a case insensitive match on the volume label.
|
2011-11-22 12:43:59 +01:00 |
|
Francois Gouget
|
7238a78805
|
msi: Delete the handle static critical sections when unloading the dll.
|
2011-11-17 11:37:49 +01:00 |
|
Hans Leidekker
|
a100550383
|
msi: Trace the exit code from custom action processes.
|
2011-11-14 13:10:19 +01:00 |
|
Hans Leidekker
|
353016f92f
|
msi: Process messages while waiting for custom actions to complete.
|
2011-11-14 13:10:19 +01:00 |
|
Andrew Talbot
|
3358b541ac
|
msi: Remove extraneous braces from switch statement.
|
2011-11-07 11:53:56 +01:00 |
|