Web.Config Transformations just copy the web.*.config Files - web-config

I'm fairly new to this but it seems really simple and i want to know why on earth it is not working. I have create a bunch of regions configuration manager (test, UAT, dr prod ect.) and then i have right clicked on my web.config and added config transformation, filled out the relevant files.
Now when i go to Build deployment package for a region and them import it onto another machine it just copies out the web.test.config or whatever files. Does anyone know what I'm doing wrong?
Help?!
Josh

For those facing this bastard of a problem, you need to have do not copy on for all of your files and build action = content
Web transformation files get copied to root + bin

Related

Octopus Package Application Step in TFS Build not picking up files in sub folders

Hi I am using Octopus Deploy Package Application step to package up my website
I specified the Source Path, Output path etc just fine.
If I do not specify the Include files it brings back everything in the folder structure as the package. But I only want to Package certain things like the CSS, views, dll's etc
If i Specify an include form a sub folderlike /bin/.dll it does not bring the files through, even though this is the exact example they give on the more info icon. but if i specify something in the root like .png which is not in a subfolder it works fine.
Anyone faced this issue. Please see image below to see the step setup
Use the path below, you'll get all dlls in bin folders:
**/bin/*.dll

Yocto/bitbake/OpenEmbedded: Best place for build/conf/local.conf's content?

I'm trying out yocto (2.0, jethro) and I want to build an image starting from core-image-minimal. This works fine.
Every website out there mention modifying the file build/config/local.conf with (some of) my customization. For example, the target machine (through MACHINE) or some global settings (through EXTRA_IMAGE_FEATURES).
I also need to modify some specific packages and the way to do it is to create a custom layer. So far so good.
What I don't understand is how to "save" all my configuration to version control. I want everything I change to be locate in files that I can commit so that anybody else can reproduce the exact same build (or even contribute to that project). Putting almost everything in build/config/local.conf goes against that goal; the file is under a "build" directory and so I can't just clone a git repo and start the building...
Is it really the way the yocto project works? Or am I missing a different configuration file where I need to put these settings? I though I could place all these in a custom layer but it does not seem to work...
Any idea or suggestion?
Thanks!
Thanks Ross, that clarified it!
Here's some notes about my file organization which I couldn't format into a comment to your answer.
Thanks. So all my custom configurations went into meta-mylayer/conf/distro/mylayer.conf
Almost all my customization went into a layer meta-mylayer, except:
DISTRO which is set in build/conf/local.conf. This is how you tell yocto what you want to build.
MACHINE which is also set in build/conf/local.conf. The reason is that the same image/distro combination could be built for different machines and thus this can't be hard-coded for every images.
Layers are manually added to build/conf/layers.conf. That's the last bit I wish I could moved to my DISTRO or something. For now the folders are git submodules and they are added using bitbake-layers add-layer.
In general everything in your local.conf that is "your project" should be moved to your own distro configuration (MACHINE, image features, package lists). Stuff like where DL_DIR is can be moved to a common site.conf if you wish. Eventually you should end up with a local.conf which just sets DISTRO and some other personal variables.

How to delete some files after msi installation is completed

I have a custom screen step displaying checkbox options for web.config specific to each environments (DEVINT, QA, Stage,Prod) as part of MSI installation.
Once the user selects QA as option then the web.qa.config file is renamed to web.config file
After the complete installation, I see that there are other web.config files ( web.DEVINT.config,web.stage.config,web.prod.config) still present in the folder.
I want to remove the other web.config files web.DEVINT.config,web.stage.config,web.prod.config
after the installation is completed.
Can anyone help me to resolve this issue.
Thanks & Regards,
Santosh Kumar Patro
A RadioBox would seem a better choice then a Checkbox since I would imagine the choices are mutually exclusive. Use the property associated with the control as conditions on the component so that only one of them gets installed.
Windows Installer will complain (ICE Valication) if multiple components install the same key path. What I do to get around this is to make the keys paths go to a subdirectory such as Configs\Web.LifeCycle.Config so that each is unique. Then I use the DuplicateFile table to clone that file to the real directory \ web.config path. The downside is I deploy a subdirectory/file that isn't needed but the upside is I can use it to quickly know what was picked and have a backup of the file to compare against in case someone goes and modifies the real web.config.
In limited scenarios I use AppSearch to autodetect the life cycle instead of showing a UI at all.

Keeping SSIS packages under the source control

I store all SSIS packages in Subversion repository, their configuration files as well. Configuration file almost always stored in the same folder where package is.
Problem is - SSIS seems to always store path to configuration file (the one saved in the package itself) as an absolute path.
When someone else checks out folder with the package in the location different from where I had on my development PC the configuration file is not detected (because my absolute path is stored and it doesn't exist on the other developer PC). So another developer has to remove this configuration and add it again from where it is now on his local hard drive. Then changed package is saved which will cause new version to be committed. When I get that version from SVN it will no longer match local path on my PC.
On a related note: another developer may want to change values in configuration file as well. If I later get the latest version of everything from SVN package will no longer work on my PC.
How do you work around these inconveniences?
Another solution is to save your configuration in a database with an environment variable as the first configuration to tell it what database to look in, that's what we do. We have scripts to populate ssisconfig for each server in our source control, but the package uses the actual table data for the database in the environment variable we are using.
Anyone who has heard my SQL Saturday presentations knows I don't much care for XML and this is one of the reasons. A trick to using XML configuration with varying locations is to use an environment variable (indirect configuration) to direct SSIS where it can look for that resource. The big, big downside to this approach is you'd generally need to create an environment variable for each set of configuration files or have a massive, honking .dtsconfig file which becomes painful for versioning.
The option I prefer if XML configuration is a must is that the "variableness" is removed. Developers and admins get together and everyone agrees "there will be a folder everywhere SSIS is done to hold configuration files and that location is X" and then it's just a matter of solving for X. At a previous job, we used D:\ssisdata\configs
#HLGEM's approach of a table for configurations is hands down my favorite approach to SSIS configuration (until you get to 2012 and their project deployment model where configuration is an entirely different animal)
I add a folder called "config" under my projects folder, add it to source control and mantain the config file in this folder. You can also add it to the SSIS project if you like.
I think its a good solution because everybody can have this folder and dowload the config file.
When the package is deployed it will read the config file from where you inform in the deployment manifest so this solution wont impact your development

How do I create a new folder and deploy files to the 12 hive using VseWSS 1.3?

I have created a web part using VSeWSS 1.3. It creates a wsp file and my web part gets installed, everything works great.
I would like to also create a folder in the LAYOUTS directory of the 12 hive and place a couple files in there. How do I go about doing this? I know that I can manually place the files there, but I would prefer to have it all done in one fell swoop when I uses stsadm to install my solution.
Is there a best practices guide out there for using VSeWSS 1.3 to do this? They changed a bunch of stuff with this new version and I want to make sure I don't mess anything up.
You can create a new folder structure in your webpart project, like:
Templates/Layouts/CustomFolder and put your files in the CustomFolder directory and include them in your project.
When you go to the WSP View in Visual Studio, you can see in the manifest.xml that your files are being included in the deployment.
I have done this successfully on multiple projects now.
In case anyone is wondering, the VSeWSS 1.3 user guide is incredibly helpful. It is installed to the same directory as the tool itself, default in C:\Program Files\Microsoft SharePoint Developer Tools 9.0\VSeWSS13.CHM
You can see a working example with screenshots Here
A simple step-by-step tutorial for the above, along with deploy/retract scripts is here at Add New Files To 12-Hive Through A SharePoint Solution. Just follow the steps and in a few minutes you'll be able to add whatever you want to the 12-Hive!