cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
nononl
Level 3

Installshield in Visual Studio - Project outputs - Sources and subfolder

Hi Installshield gurus,

I've seen something strange recently which used to work just fine before.

I am having many Visual Studio C++ project outputs in an InstallShield project. The projects themselves have a folder architecture created with solution folders and source files on the folders also have subfolders for some source files.

We have recently upgraded from Installshield 2012.

The problem is that after installing the installer, the source project outputs translate into a flat hierarchy causing the visual studio project to not build because all the sources file are not at the expected places with their subfolder.

I am not sure if something got broken in my project or something is broken into Installshield itself. Again on the previous Installshield version everything was created fine and the installed project had all the subfolders and everything.

Anyone encountered the same issue? Is it a known issue?

Any comment/help much appreciated.

Best Regards,

Arnaud

Labels (1)
(9) Replies
Jenifer
Flexera Alumni

Hi @nononl ,

 

I doubt this would be problem from InstallShield since it generally won't change any folder hierarchy.You can give a try without adding C++ project output to installshield project as primary output.

I think problem will be with C++ solution output directory change or some other parameter change?

If possible can you compare the solution/vcxproj file before and after this specific behavioral change?

From which version of InstallShield you migrated to InstallShield 2012?

 

Thanks,

Jenifer

0 Kudos

The software and documentation are “commercial items,” as that ... Part A: Creating a New Express Project in InstallShield, NET Wizard—Select this option to launch the Visual Studio .

I think problem will be with C++ solution output directory change or some other parameter change?

https://surveyprize.net/

0 Kudos

Hi,

Our installshiled solution in Visual Studio is probably 8 years old. Adding project sources outputs always ended up with the same hierarchy present in the source folders. There are most likely hundred of C++ project outputs referenced to the installshield project which all suddenly became flat without any changes in the C++ project themselves. This is why I am more leaning towards a change in between Installshield for VIsual Studio between version 2012 and 2015. Note that we are still using Visual Studio 2012 so nothing has changed around that also. The only change is Installshield version.

I am well aware of the documentation you pointed out to me. I will however try to create a very simple IS project in a solution with only one C++ project from scratch and see how this works.

Thanks for the pointers

0 Kudos

Hi Jenifer,

Thanks for your pointers we migrated from Installshield for Visual Studio 2012 towards Installshield for Visual Studio 2015.

The C++ projects remained unchanged so no difference there. We have a Visual Studio solution with many C++ project as well as the installshield project in there.

There was no changes around the C++ project themselves only recently updated Installshield versions.

We upgraded from 2012 towards 2015, the latest version we have purchased.

Thanks,

Arnaud 

0 Kudos
nononl
Level 3

Hi,

I some updates, I've tried to use the Installshield wizard to add an Basic MSI project to the C++ project solution.

"Primary output" is automatically added to the Installshiled project. I've added "Source files outputs" in the Installer project and the output is flat; no hierarchy.

It looks like Installshield 2012 was using the source project hierarchy to create the source output hierarchy but Installshield 2015 ignore the source hierarchy.

Maybe I am missing a setting somewhere that could be "preserve hierarchy" or something like that.

The only solution seems to be a dynamic file linking on the actual SVN folder setting up exceptions but there are hundreds of C++ project reference in our solution and it will be cumbersome to change everything.

Thanks,

Arnaud

0 Kudos

Hi @nononl ,

 

Thanks for the update,it would be better if you could show us hierarchy difference with IS2012 & IS2015 snapshots.

I would also suggest you to use MsiDiff which you could find under <IS-INSTALLDIR>\<IS-VERSION>\System folder or via searching shortcut as well(MsiDiff.exe).

You can compare project files(ism files) of both IS2012 & IS2015 version using MsiDiff tool and can come up with  changes between files.

That can guide us a bit on figuring out the cause.

 

Thanks,

Jenifer

0 Kudos

Hi,

Because of priority during the EOY I wasn't able to dig further into the issue.

I created a very simple Visual Studio solution. In the solution is both the basic MSI Installshield project as well as a software application have a non flat hierarchy. You can see that on the vs2012_is2012_view.png image. This is the solution and we see that am only using source files output from the project. Then if you look at vs2012_is2012_after_installation.png, you can clearly see that installshield created some subfolders next to main.cpp and some source files are there inside.

What I've done right after is to update Installshield to 2015. While opening the solution, installshield indicated that the project should be upgraded, it has done that automatically without any errors. You can see the solution after upgrade on the  vs2012_is2015_project_conversion.png and vs2012_is2015_view.png images. After installation the result is to be seen on the sources_folder_is2015.png. As you can see on that picture everything became flat...

I am not able to use the MSIDiff tool for obscure reasons but comparing them using WinMerge does not show anything relevant. I've attached both ism files; Setup1_2012.ism (using installshield 2012 project) and Setup1_2015 (using installshield 2012 project).

As a side note, I've also tried to use Visual Studio 2015 and Installshield 2015 together thinking it could be related but result is same. I also managed to get an Installshield 2019 trial version thinking this got maybe fixed but the results are same. I've also decided to try creating a new solution with new installshield project and recreate everything but it does not change the results, everything is installed flat without hierarchy.

It looks like installshield is not parsing the vcxproj properly after IS2012. It seems to only collect the source file location and installing all the files without to create the hierarchy on the destination folder. A clear behavior difference between IS2012 and later versions.

@Jenifer 

 

Best Regards,
Arnaud

 

0 Kudos

Hi Jenifer,

Unfortunately, Arnaud is no longer with our company. I am taking the task up of trying to fix this. As Arnaud says we have a huge installer project with many Source_Files items. This is still an issue that we come across. Is there a quick fix? Arnaud has provided the simple InstallShield 2012 and 2015 examples which clearly shows that with 2012 the structure is not flattened and in 2015 it is. Is there an option that needs to be specified to not flatten these directories in InstallShield 2015?

Thanks!

Jake

0 Kudos

0 Kudos