specifically error
ERROR_SXS_CANT_GEN_ACTCTX
Main Topics
Browse All TopicsI have an MFC app (Visual Studio 2005).
It runs perfectly on a Win 2000 test PC.
On a Win XP test PC I get an error referring to "side-by-side configuration information"
Basically the app won't start on XP. Using depends I get a bit more info referring to the above problem
I'm stumped. I can't find what this side-by-side configuration is in help.
Ideas as to what is going wrong and more importantly how to fix it?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Set "NO" to "Embed Manifest" setting in "Input and Output" section of "Manifest Tool".
Take a look at this
http://channel9.msdn.com/S
To try to simplify matters (actual app has a number of dll's / threads ...) I have created a simple dialog based app to test.
That fails with the same error.
I have done as you suggested and now have a different error (with the simple dlg based app).
Application failed to initialise properly (0x80000003). Click OK to terminate the application.
I think I have found it.
I need to distribute some more (VC runtime / MFC runtime manifest?) files (things like the VC80.CRT directory contents - depends.exe didn't flag them as missing).
Just copying that directory and the app will run correctly with the Embed Manifest set to yes. (Set embed manifest to no and it fails - maybe in that instance I would need to distribute the manifest file for the app as well).
I am just wondering if this has to do something with the application packaging. I understand that the following steps are required when building the setup for side by side assemblies.
Creating an Installation for a Side-by-Side (Win32) Assembly
A Side-by-Side (Win32) Assembly usually consists of a single Side-by-Side Portable Executable (.EXE, .DLL, .OCX, etc …) and its accompanying .MANIFEST file. Side-by-Side components only operate Side-by-Side on Windows XP, so you must take special care to author your installation to work on down-level platforms if you intend to support them. Side-by-Side components can be configured to be installed isolated to the application or to the Global Assembly Cache.
These are the steps required to create a component for a Side-by-Side Assembly:
Step 1:
Create a new project or open your currently existing project in InstallShield Developer 7.0
Note: Be sure to create an Install Condition in your Product Properties if your Side-by-Side components don’t support down-level platforms.
Step 2:
In the Setup Design view, create a component to hold your side-by-side assembly.
Step 3:
Add all the files belonging to the assembly to the component’s file list.
Note: If you don’t set a key file, InstallShield will automatically set the .MANIFEST file as the key file in the next step.
Step 4:
In the Advance Settings of the component right-click on the Assembly node and select “New .Win32 Assembly”
Step 5:
After selecting the Win32 Assembly node examine the properties. You’ll see that your .MANIFEST file has automatically been selected as the Manifest file.
Note: If you plan to target down-level platforms, be sure to include all the COM data that is part of your assembly in the COM Registration section of the component’s Advanced Settings view. You can also use InstallShield’s “extract COM information at build” or “component wizard” functionality to automatically extract the required COM data for down-level platforms. Note that on Windows XP this information will be ignored and the manifest data will be used instead.
Step 6:
Select whether you want the Assembly to be installed to the Global Assembly Cache or not by setting the “Global Cache” property.
Note: Your Assembly must be properly signed in order to be correctly installed into the Global Assembly Cache. See the Windows Platform SDK for more information.
Step 7:
Set the Name, Type, and Version properties. These values must be copied exactly as they appear in the assembly manifest. If your assembly contains other properties, you may add them by clicking on the last row of the property list for your assembly.
I've read your comment. I think it is a little off topic but could be interesting.
(Actually I will be using Wise installer.)
I am still puzzled by this side by side configuration. Specifically what it is. I hadn't met this until this error appeared. (I have just upgraded from VS6 to VS 2005).
With Visual Studio 6 one would install an app (C:\program files\MyApp\Foo.exe) and supporting MFC dlls go into the system directory. That could result in problems during installation (no write access to system dir) and/or other apps breaking (overwriting of dll by another version - the socalled dll hell).
As I understand it the MFC support dll's are not now considered system files so one *should* install them into the same directory as the app.
So a question.
Is the installation of the support dlls into the application directory a 'side by side configuration' wheras the dlls into the system directory is not ?
>>Is the installation of the support dlls into the application directory a 'side by side configuration' wheras the dlls into the >>system directory is not ?
If specific version of support dlls are needed for the application,these can be installed along with the application in app directory and it can use application isolation method for these dlls so that it wouldn't matter to the version installed in the system directory.
Side by side configuration issues might raise even if the dlls go into application directory but not isolated.
Guidelines for creating side by side assemblies is at
http://msdn.microsoft.com/
http://msdn.microsoft.com/
Business Accounts
Answer for Membership
by: AndyAinscowPosted on 2006-01-26 at 10:05:36ID: 15797625
from event log.
Generate Activation Context failed.