---
name: "MsiDecomposeDescriptorW"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/MsiDecomposeDescriptorW"
---

# MsiDecomposeDescriptorW(3w)

## NAME

**MsiDecomposeDescriptorW** (MSI.@)

## SYNOPSIS

UINT MsiDecomposeDescriptorW\
  (\
   LPCWSTR *szDescriptor*,\
   LPWSTR  *szProduct*,\
   LPWSTR  *szFeature*,\
   LPWSTR  *szComponent*,\
   LPDWORD *pUsed*\
  )

## DESCRIPTION

Decomposes an **MSI** descriptor into product, feature and component parts. An **MSI** descriptor is a string of the form: \[base **85** guid\] \[feature code\] **'\>'** \[base **85** guid\].

## PARAMS

*szDescriptor* **\[In\]**  the descriptor to decompose.

*szProduct* **\[Out\]**  buffer of MAX\_FEATURE\_CHARS+**1** for the product guid.

*szFeature* **\[Out\]**  buffer of MAX\_FEATURE\_CHARS+**1** for the feature code.

*szComponent* **\[Out\]**  buffer of MAX\_FEATURE\_CHARS+**1** for the component guid.

*pUsed* **\[Out\]**  the length of the descriptor.

## RETURNS

**ERROR\_SUCCESS** if everything worked correctly **ERROR\_INVALID\_PARAMETER** if the descriptor was invalid

## IMPLEMENTATION

Declared in **"msipriv.h"**.

Implemented in **"dlls/msi/registry.c"**.

Debug channel **"msi"**.
