cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
vselvaraj
Level 2

Building multiple Product Configurations through visual studio

Hi,
My InstallShield project has multiple product configurations ( which use different names and release flags) and they all have a CDROM release under them. I want to be able to build all those configurations through visual studio using the configuration manager and the project configuration.
But each time I try to create a new solution configuration and map it to the configuration on the ISM project, it creates a new release configuration under the one marked as default configuration.
How do I go about accomplising this?
Thanks
Victor
Labels (1)
0 Kudos
(1) Reply
Saravan1010
Level 2

Hi,

My InstallShield project also having multiple configurations. For your case, I have changed the "Default Product Configurations" to where I need to map the Visual Studio solution configuration and then created VS solution configuration. Now it will create under the specified default product configuration.

But I am facing very strange issue in build releases,

- In my project, I am having 3 product configurations and each having one 'Release'. So, my solution file(.sln) file having 3 SolutionConfigurationPlatforms.
- If I am changing the "Default Product Configurations" to any other configuration, It sets the 'postSolution' value (in .sln file) for all 3 release as current default productconfiguration release.
- For example, If I set the "Product Configuration 2" as my default, then it sets the "Release 2" configuration for other 2 product configuration releases.

Is there any article available for this kind of build configuration? or else, anyone please share the solution for this issue?

EDIT : What are all the parameters I need to pass in MSBuild command line to build 3 different configurations?

Issue one,(.sln file Global content)

Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release 1|Default = Release 1|Default
Release 2|Default = Release 2|Default
Release 3|Default = Release 3|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 1|Default.ActiveCfg = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 1|Default.Build.0 = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 2|Default.ActiveCfg = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 2|Default.Build.0 = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 3|Default.ActiveCfg = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 3|Default.Build.0 = Release 2
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal



Values should be like below (as like other .net projects)

Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release 1|Default = Release 1|Default
Release 2|Default = Release 2|Default
Release 3|Default = Release 3|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 1|Default.ActiveCfg = Release 1
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 1|Default.Build.0 = Release 1
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 2|Default.ActiveCfg = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 2|Default.Build.0 = Release 2
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 3|Default.ActiveCfg = Release 3
{96FDA0E1-40D3-4CD6-9690-1236906432E8}.Release 3|Default.Build.0 = Release 3
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal


Thanks,
Saravan
0 Kudos