md8070
Posts: 24
Joined: Thu Nov 10, 2011 9:58 pm

HowTo: WinSXS?

hello all,

does anyone have a handy guide on how to deal with Winsxs?

the last few days i have been trying to package RealPlayer 15. After consulting some websites and running regshot and other tools, i finally got all the kinks out except one thing, Winsxs

when i try to install it on Windws 7 x64 now, it complains it can't copy into c:\windows\winsxs\manifestcache which is understandable given the permission on that folder

i understand i have to do something like MERGE modules but at what point and how?

any pointers?

thanks much
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Re: HowTo: WinSXS?

Hi,

The guide is pretty simple: never install files in WinSxS folder.

WinSxS is used for assembly registration and protected by Windows. So you cannot install files in it and only an assembly registration process can write data there.

Most likely some assemblies need to be registered in your package. You first need to determine which ones, configure them to be registered and then manually remove the WinSxS folder from "Files and Folders" page.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
md8070
Posts: 24
Joined: Thu Nov 10, 2011 9:58 pm

Re: HowTo: WinSXS?

thank you cosmin

i've come to realize this the hard way :)

By the way, this is the C++ 2008 redistributable, as it seems. It's already installed with the default installation of Windows 7 but Real Player wants a specific version.

now, your link transfers me to the help system that talks about file registration. Where should those file be if I want to register them? just put them in a random temp folder and then windows installer will copy them to winsxs?

what about the other files that are under c:\windows\winsxs?
i have a total of 10 files:
Catalogs:
2 CAT files

ManifestCache:
1 BIN file

Manifests:
2 CAT files
2 MANIFEST files

<newly created folder>:
msvcm90.dll
msvcp90.dll
msvcr90.dll

Or, maybe I can add this as a pre-requisite instead of dealing with assemblies?
Cosmin
Posts: 5797
Joined: Tue Jul 10, 2007 6:39 pm
Contact: Website

Re: HowTo: WinSXS?

Hi,

Since it's the Visual C++ redistributable, you can simply remove the WinSxS folder from your project and add the redistributable as a prerequisite.

If there would have been custom assemblies, most likely they would have been installed in the application folder (for example Program Files). Only the registration files are placed in WinSxs, the assemblies are installed in regular locations.

Regards,
Cosmin
Cosmin Pirvu - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube
md8070
Posts: 24
Joined: Thu Nov 10, 2011 9:58 pm

Re: HowTo: WinSXS?

you were right, I removed the WinSXS section and problem went away without even adding a pre-requisite

I guess the installer from the vendor was done in a way that it would install Visual C++ redistributable without checking if it's already there

Return to “Common Problems”