Take the 2-minute tour ×

We have three versions of our software. (e.g. V1.0.1, V1.0.2 and V1.0.3). I created full msi installers for these three versions(V1.0.1.msi, V1.0.2.msi and V1.0.3.msi) with Visual Studio 2010 Setup Project. In addition, I created patch updates (minor upgrades)(.msp package) among them as follows:

Patch_1.0.2.msp (created between V1.0.1 and V1.0.2)

Patch_1.0.3.msp (created between V1.0.2 and V1.0.3)

When applying Patch_1.0.3.msp against a full installation of V1.0.2.msi, it works very well.

But if installing V1.0.1.msi full package first, then applying Patch_1.0.2.msp (which works fine and brings the current version number to V1.0.2), I couldn't install Patch_1.0.3.msp on top of Patch_1.0.2.msp. The following error occurs:

Error 2356: Couldn't locate cabinet in stream: _38E265F5A43AD31C46B21C2A867AD7BE. MSI (s) (C0:08) [13:12:30:089]: Product: TestApp -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2356. The arguments are: _38E265F5A43AD31C46B21C2A867AD7BE, ,

What's the difference between the full installation of V1.0.2 (msi installer) and the full installation of V1.0.1 with Patch_1.0.2.msp on top, although the final version number of both are same (V1.0.2)

Both msp packages are "minor upgrades".

Can anybody help me with this? Any ideas, thoughts, advice are very much appreciated.

share|improve this question
add comment

2 Answers

up vote 0 down vote accepted

It seems like Windows Installer tries to repair the current installation before applying the patch. This is why it tries to find the CAB.

Does Patch_1.0.3.msp work if you manually repair the installation from Control Panel after applying Patch_1.0.2.msp? If it does, you should determine why your package needs a repair after Patch_1.0.2.msp.

share|improve this answer
Thanks so much for your quick reply. I tried to repair the installation after applying Patch_1.0.2.msp, but it failed and threw out Error 2356. However, I found the solution to my problem. Please see the next answer. –  Dan Jun 8 '11 at 11:08
Finally, I found the solution: To make the Patch_1.0.3.msp, 1. Make an admin image of "V1.0.1.msi"; 2. Patch this admin image with "Patch_1.0.2.msp"; 3. Make Patch_1.0.3.msp between this patched image from step 2 and V1.0.3. But this new patch (Patch_1.0.3.msp) won't work on the V1.0.2.msi full installation. To install the patches, follow the steps below: 1. Install V1.0.1.msi; 2. Install Patch_1.0.2.msp; 3. Install Patch_1.0.3.msp; The you will get the final version of V1.0.3. –  Dan Jun 8 '11 at 11:18
add comment

Create a patch from 1.0.1 to 1.0.3 and provide a link to the patch depending on the current program version.

share|improve this answer
add comment

Your Answer


