Deploy merge modules to clients - visual-studio

I need to deploy some Crystal Reports XI .dlls (craxdrt.dll, crviewer.dll) to client computers. Craxdrt.dll has many dependencies. I found out that the easiest way to go about this is to use the supplied merge modules. Having always relied on ClikOnce deployment I am at a total loss how to do this.
If it matters: the .exe is written in VB6, but I have visual studio 2010 to make setup projects.
Thanks!

Ideally you'd use the Visual Studio Installer 1.1 that Microsoft supplied as an add-on to VB/VS 6.0 a long time ago. While a bit long in the tooth (and recently removed from Microsoft Downloads) it works fine and was intended for just this purpose. The process is described in the Help that came with the product.
However if you have an edition of VS 2010 that can create real Setup projects (i.e. not Express) it should work in a very similar manner. It should be a standard option to add MSMs to a Setup project.
See http://msdn.microsoft.com/en-us/library/aw2dz878.aspx

Related

How can I rollback to earlier versions of a Visual Studio project while developing locally?

In the process of building an ASP.NET Core MVC rc1 application with SQL databases, c#, bootstrap, angular, css, javascript, javascript dependencies, package managers like bower, or any visual studio project for that matter, I sometimes break the application and would like to roll it back to a previous state when the application was working.
What are some techniques/the best way to create incremental versions, save and flag working versions, and rollback to earlier versions especially when a project has so many moving parts, technologies, and dependencies?
I would prefer a technique that exists inside Visual Studio, or the most standard/popular Microsoft or open source technique or tool that may be free.
I also would like the option to do the backups on my local machine rather than on an external server.
If anyone else has this question: I found Git to be a great way to achieve this purpose. Unlike many version control systems, it keeps the change repository on the local machine and only places it on a server when the project is merged. As of 2015, it integrates well with Visual Studio and TFS. Here is a video from the Build conference explaining its integration with VS2015:
Channel 9 - using git in visual studio
https://channel9.msdn.com/Events/Build/2015/3-746

Dev Studio 2013 upgrade reports a Web Deployment Project as incompatible

I have been given the task to port an dev studio 2010 asp.net solution over to 2013. The only remaining problem I have are we seem to have 2 web deployment projects (i.e. they have a .wdproj extension), and dev studio 2013 reports them as "incompatible", and then when you expand the node, the extra error description "The application is not installed" (see screen shot below)....
I have done a lot of searching and can just not find a clear answer (they just seem to explain what these projects are etc)
So, my question is
* Are these project supported in dev studio 2013, and if so is there some other plugin I need to install.
* If they are NOT supported, is there an equivalent I need to use, and is there a way to convert from one to the other.
Thanks in advance for any help!
Peter
These are no longer supported in VS2013 (or even in VS2012 for that matter). Almost all of the features have been rolled up into the publish features build in to the product, without the need for a separate project.
See http://www.asp.net/visual-studio/overview/2012/visual-studio-2012-web-publishing-improvements for a walkthrough of how publishing works in the newer versions.

How to work simultaneously with 2-3 users on the same project?

I have a team of 3 developers and I want that we should be able to work on the project from our own homes, at any time (or at the same time) and make changes to the project. Till now, we have to mail each other all the updates versions to keep in sync. We are developing the project in Visual Studio 2010 currently and use SQL Express 2008. I searched internet and got some idea about Team Foundation Server but it requires Windows Server. I don't want to get into this mess and I have a Win7 Pc. Please suggest me some easy solutions.
There are any number of low-cost (often free to open source projects) hosted source control providers out there.
Personally I use Subversion along with the AnkhSVN plugin for Visual Studio.
Mercurial and Git are also quite popular and supported within Visual Studio via plugins.
Any of those options can be setup in a few minutes (if you use a hosted solution) and will all work for a small team.
Version Control is what your looking for,and your right there are some complicated solutions out there. TortoiseSVN isn't too complicated but works well.

Why ought I not to install Visual Studio on my CI server?

A lot of people new to CI (Continuous Integration) install VS (Visual Studio) on their CI server "because it is required to compile the code". MSTest is a common reference brought up here.
Why should I not install VS (or generally speaking, any software not out-of-the-box) on my CI server?
(This question has not been asked before apparently, so I'm adding it for reference. If it already exists, sorry, I missed it, please merge. If no answer is provided to this question within some time I can add one myself)
Because you don't need to. A Visual Studio license is pretty expensive, so having one just lying around on a server where no one's using it is just a waste.There are a couple of arguments why you would still need to install a full blown Visual Studio instance on your Continuous Integration server - but here are their counter arguments:
Reason 1: I need it to compile.
Reality: No, you don't. You need MSBuild to compile, but that is available for free, in the Windows SDK. Note that there are several versions for different operative systems and .NET versions, so be careful to download the correct one.
Reason 2: I need it to make quick fixes on the server.
Reality: No, you don't. You shouldn't make quick fixes on the server - you should check out from your version control system, make the fix, build and run tests locally until it works, check in, and have the CI system do the rest for you. That's why you have a CI system.
Reason 3: Without Visual Studio, I can't run MSTest no my CI server.
Reality: Wrong. AFAIK, the MSTest runner is also part of the SDK (at least that's what it seems like on our CI server here - although I can't verify it since we don't have any tests at the moment...). However, a quick googling found this blog post which explains how to do it without the SDK as well. I haven't read through it in detail, so I can't promise that it works, or that it's legal. You have been warned.
Feel free to add more reasons in comments, and I'll counter them.
You might need to install Visual Studio anyway, out of practicality
I was going to try and refute the accepted answer, posted by #TomasLycken, in the comments, but found I needed more space to talk. Even though I technically agree with what #TomasLycken has asserted, here, I'll list some of the dependencies that I found difficult to install on my CI server - and leave it to you to decide how right the accepted answer is...
1 - 'mshtml' primary interop assembly
You can see the problem I was getting in my build output at this S.O. question I created and answered. Mind you, I spent several hours figuring out how get the desired PIA registered - and it was a result of running some .exe's on the server that came from my V.Studio installation - hmmmmmm
CONTEXT: I had a win forms project that used the Web Browser control.. and in the 'WebDocumentCompleted' event, I was casting the DomDocument to hshtml.IHTMLDocument2 .. and that's why I had a reference to Microsoft.mshtml in my project.
RESULT: Now #TomasLycken suggests I deal with this by fixing my code. At first, I wanted to bawk at this suggestion. My code is deployed and working! But, when I do a web search, I see that Microsoft doesn't really recommend using their mshtml PIA outside of the Visual Studio environment they developed it for.
The offending 10 lines of code was effectively doing a little screen-scraping of data on behalf of our users who do research on technical topics in several well-known web portals. But, when I tested this code, written in 2009, it appears that the DOM it once manipulated has now changed in 2016. I know shocking. Probably not my smartest bit of code. Probably time to retire this function - in other words, fix the code and recommit it.
#TomasLyken I think is right on this one.
2 - Win Forms Project post-build script
CONTEXT: So I had come across this cool post-build technique on S.O. that allows my app.config file in my WinForms project to undergo an XDT transform similar to the way my web projects' web.config files are transformed. Well, it just works OOTB, so-to-speak, if you copy from S.O. and into the .csproj or .vbproj source file. But, once you put all this onto a build server with no Visual Studio, the critical piece fails due to a dependency on:
$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets
Now this is straightfoward enough to rectify.. I just copied over to the CI server my C:\Program Files (x86)\MSBuild\Microsoft directory. But, should I? Since I've kinda went off the reservation of what Visual Studio normally would support.. one could argue that #TomasLycken's accepted answer is still right on this point, too.
3 - Just getting all the .NET Frameworks and Multi-Targeting Packs in place
Points 1 and 2 above, were actually the last things I conquered in my attempt to get my first build job to run. And my first build job is for a solution stack that I've created and maintained over the past 8 years.. so it has weathered a few frameworks and would have some non-trivial texture to it. I knew it wouldn't be easy. In fact, I hoped by making a CI server that could build this .sln, that it would in fact be ready to build most any other solution we threw at it.
When I first received my clean "Windows 2012 R2" server, it simply had a lot of things missing.. and I'm wondering if I had installed Visual Studio first, if it would have rectified some of these things straight off?
Below is my synopsis of what I had to do - but it doesn't show the pain and suffering involved figuring it all out and the false starts. Maybe it'll help someone else, though.
> First, uninstalled 4.6.1 framework
-- (find Update for Microsoft Windows (KB3102467) and click Uninstall.)
-- also uninstalled anything from MS labeled with C++ redistributable (a later step will restore these)
> Then, install Windows 7 SDK (installs critical "reference assemblies" and a proper baseline 4.0 framework)
-- Then, install Multi-Targeting Pack for Framework 4.0.1 (netfx_401mtpack.exe)
-- Then, install Multi-Targeting Pack for Framework 4.0.3 (netfx_403mtpack.exe)
> Then, reinstalled 4.6.1 framework for 2012 R2 (KB3102467)
> Then, installed Microsoft .NET Framework 4.6.1 Developer Pack (DP461-DevPack-KB3105179-ENU.exe)
> Then, installed "Visual Studio 2015 Build Tools" (BuildTools_Full.exe)
> Downloaded a copy of nuget.exe and put it in the C:\Windows directory
4 - Getting rid of 'missing ruleset' warning MSB3884
From #kevinbosman's post on this GitHub issues thread
If you don't want to edit your Microsoft.CodeAnalysis.Targets file, please note that it is not enough to merely copy the folder C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\Rule Sets\ to the build server.
You also need to create the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0\Setup\EDev and add the string value StanDir = C:\Program Files (x86)\Microsoft Visual Studio 14.0\Team Tools\Static Analysis Tools\
5 - Getting MSTest to run correctly
Need dlls copied into your build machine, some must register w/GAC more info here specifically:
Microsoft.VisualStudio.QualityTools.Resource.dll
Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
Need a hive out of your dev machine's registry copied into build server
some warnings, if you want them to go away, according to this Microsoft visual studio help forum require a VS 2010 and feature pack 2 installation.

Any pitfalls to working on a project created in a 'higher' version of Visual Studio?

I'm asking this specifically regarding Visual Studio 2008 and also the upcoming Visual Studio 2010.
If we are given a project that has been created in an edition of Visual Studio such as Team Suite or Ultimate, and all we have to work with is Professional, would that interfere with us working with the project? I'm assuming the code would all work as it just uses the Framework, but what about features specific to the higher versions? Any IDE issues?
Edit : Our specific scenario is that we're working with a large software company that uses the top versions, and we don't. There's a significant (and growing) amount of code exchange. Given that Professional 2010 with MSDN is $1200, and Ultimate is about 10 times that, we'll have major budget issues if the whole team needs to upgrade. Knowing that the projects will compile is fine, but I'd want to be sure that we couldn't find aspects of their solutions that we weren't actually able to work on.
Nope, there are no issues with moving from Team System / Team Suite to Professional. I have a Professional license at home and a Team System license at work - they interchange and work perfectly with each other.
First hand experience shows no issues.
This is, of course, assuming that you aren't using any of the Team System specific features such as the Team Foundation Server or the Testing capabilities of Team System.
There shouldn't be any issues with opening projects created in different editions of the same version of Visual Studio.
I haven't tried between Professional and Team Suite for example, but there are no issues with opening projects that created in the Express edition in the Professional edition and vice versa.
There may will be aspects of the project you can't access/use any more, but the project should still recompile and run. To clarify this a bit more, in the case of the Express versions plugins (such as ReSharper) won't be run, so if there's any aspect of the project that relies on plugins it won't work). I think with Team Suite or Ultimate going to Professional you should be OK.
You will not be able to use features from the more expensive versions but there are no problems working with everything else.
I have a solution here that contains project types I can't use but I can compile and run everything else.

Resources