visual studio 2008 deployment project

Posted on 2009-04-16
Last Modified: 2012-05-06
I recently upgraded my deployment project from VS 2005 to VS 2008 and I had problems with the deployment project not updating my DLLs because I was not incrementing the DLL's version # when I built a new version of my project.    I resolved that issue by incrementing my DLLs when I build my deployment project.  However I'm running into a problem with 3rd party DLLs.  The 3rd party DLLs are being updated but the version # is not.  

Is there a setting to make the Deployment project replace all my files when I update my application?

Question by:OFGemini
    LVL 15

    Expert Comment

    Sorry, I'm not getting why you want to overwrite dlls when doing the upgrade if their version hasn't changed.

    Author Comment

    I want to overwrite some 3rd party DLLs because some have been modified  but not the version #s for the dlls were not incremented.

    Also a COM component DLL from a 3rd party was updated and when I updated the reference in my project the new Interop DLL's version # is still  So when I deploy the updated Interop dll it doesn't replace the existing interop DLL.
    LVL 15

    Accepted Solution

    Ah, makes sense.

    No chance of you telling the vendors to sort themselves out and version their products properly is there :-)

    Versioning a COM Interop dll is possible by creating the interop dll yourself, and adding it as a reference to your project:
    tlbimp.exe {0}.dll /strictref /namespace:{0} /out:Interop.{0}.dll
    where {0} is the name of dll
    ie. TlbImp.exe /out:Interop.AAC_DLib.dll /namespace:AAC_DLib.dll /asmversion:5.1.2600.0 c:\WINDOWS\system32\iashlpr.dll

    TlbImp.exe is in in my Microsoft SDK directory.


    Author Comment

    I've asked the vendor to do that already.  Its been on their todo list for awhile.  :-)  

    I'll look into the Creating the interop DLL myself. Thanks.
    LVL 15

    Expert Comment

    Just had a look at the Resourse Hacker tool I've got on my machine:

    You can modify the version of a DLL with this. Haven't tested whether it destroys a .Net dll whilst doing so, but I very much doubt it. It helpully makes a backup of it too (in case you forget).

    It might be against the terms of use for a 3rd party dll, but to be honest not incrementing the version on a build isn't just lazy, it's very bad form. So you've got common sense on your side :-)

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Threat Intelligence Starter Resources

    Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

    Suggested Solutions

    This article describes relatively difficult and non-obvious issues that are likely to arise when creating COM class in Visual Studio and deploying it by professional MSI-authoring tools. It is assumed that the reader is already familiar with the cla…
    A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
    Internet Business Fax to Email Made Easy - With eFax Corporate (, you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
    Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now