Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm looking into improving our build and release system. We are a .Net/Windows shop, and I don't see any really good tools for Windows for generating the files that are to be dropped in patch or hotfix. We are currently using TFSBuild 2010 with Windows Workflows for our continuous integration builds as well as our daily full build which includes an Installshield package for deployment.

  1. What is a good way of generating the list of files to be included in a "patch" style release, where one does not redistribute all the files, but only those necessary to accomplish the necessary changes? Are there any open source tools that work well for this, or do teams usually roll their own? I have considered using Beyond Compare but I would prefer something open source. The file "patch" creation must be 100% automatable.
  2. Which release vehicles really ought to be patch style? And which releases should replace all system files related to our application? Assume we have a very large amount of resources necessary to maintain.
  3. Is there any established material that is trusted within the industry for strategies about this? I realize it is different for "enterprise" rather than with typical websites. I am looking more for "enterprise" strategies due to our product distribution style.

tl;dr > Looking for info on how to ship more reliable packages?

share|improve this question
    
Question - Is the InstallShield Project a standard IS project or an MSI project. IF it is a standard IS Project you can create differential installations (there are issues with this approach but it can be automated) and IS will provide a differential list. –  mangelo Sep 26 '12 at 0:07
    
The installshield differential lists require installshield to manage every file by having a manual link to each file, right? That has always seemed like a bad idea because it requires modifying installshield any time a file in one of our components changes. –  Case Sep 26 '12 at 16:25
    
You can do dynamic linking and use the hdr file of the previous version of the installer to crate the differential. - But to do this will require doing odd things with the IS COM interface an working around a broken object model, which is the major issue with this approach. –  mangelo Sep 27 '12 at 3:15
    
Okay, I will add I presently work on a release/Configuration Management team. We went looking for a tool to generate release difference report and we had write one. One other thing is to use reporting from your source control to figure what was touched in the build (what source changed gives you what build artifacts changed) –  mangelo Sep 27 '12 at 3:23
    
@mangelo Would you be interested in posting more detailed information about dynamic linking with installshield as an answer here? I'd like more info about the pitfalls about that. Thanks! –  Case Oct 3 '12 at 18:32
add comment

1 Answer

How about

http://www.codeproject.com/Articles/125721/Installer-and-Patching-Program-using-Visual-Studio

... solution that was capable of installing a .NET application for the first time, and keep it updated throughout its life cycle

share|improve this answer
    
This looks like it is more geared to a windows application, rather than a large scale enterprise web application. Thanks for the info though! –  Case Oct 3 '12 at 18:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.