slow-cheetah icon indicating copy to clipboard operation
slow-cheetah copied to clipboard

Setup Project improperly names multiple transformed XML files when using slow-cheetah

Open markwdickson opened this issue 10 years ago • 5 comments

Issue:

When a setup project is set to install the primary output of another project which has multiple XML files being transformed with SlowCheetah, the output file names for the transformed files will be a semicolon delimited list of all the file names together. This causes them to overwrite each other in the installation folder so only one file actually gets installed with the package, and it has the incorrect file name so it won't be properly referenced anyways.

The files will properly transform into their own project's output directory. It is only in the setup project that they will be named incorrectly.

When I tried this with only one transformed XML file, it functioned properly in the setup project.

NOTE: This did not seems to affect the app.config file, though that could be because there is only one.

Tools Utilized

  • Visual Studio 2010
  • .NET 4.0
  • SlowCheetah 2.5.5 and 2.5.10.3 (upgraded to try and remedy the problem, but it still exists)

Repro Steps:

  1. Make a windows application (I used a windows service for this one)
  2. Add at least two XML files to the main project directory
  3. Use SlowCheetah to add transformations for the XML files
  4. Add a Setup Project to the solution.
  5. Add the Primary Output from the windows application project into the Application Folder output of the Setup Project.
  6. Build and either check the Outputs from the Setup Project, or install the project and look at the install location.

Screenshots

With just one transform, working properly: vssetup01

With two transforms, the target names get confused, even though the source paths point to the proper files. vssetup02

markwdickson avatar Dec 12 '13 18:12 markwdickson

Same Issue in Visual Studio 2013

I have Windows Service project with several .config files and Install Shield LE Setup project in my VS2013 solution, and if I use transformations on the config files then the Primary output in Setup project contains combined semicolon file names in ONE file name. I'm using 2.5.10 version of SlowCheetah

The build output in BIN directory is correct

buildoutput

but not for the setup project

primaryoutput

FrantisekBodnar avatar Dec 20 '13 13:12 FrantisekBodnar

Is this issue not going to be addressed?

markwdickson avatar Mar 11 '14 23:03 markwdickson

I'm going to be retiring SlowCheetah soon....more details to come soon. I can no longer maintain this project. I need some time to figure out a plan that will work for the community. Stay tuned.

sayedihashimi avatar Mar 17 '14 03:03 sayedihashimi

If anyone out there want's to implement it I will provide guidance & review/merge the PR.

sayedihashimi avatar May 25 '14 19:05 sayedihashimi

I found a workaround to this issue. Its not ideal but it works. You can filter out the transformed xml files from the Primary Output on the setup project and then add the specific files to the setup project from the bin/[configuration] directory.

http://dotnetcatch.wordpress.com/2014/09/08/workaround-slowcheetah-bug-124-multiple-xml-transformed-in-setup-project/

rschiefer avatar Sep 08 '14 18:09 rschiefer