chevron-thin-right chevron-thin-left brand cancel-circle search youtube-icon google-plus-icon linkedin-icon facebook-icon twitter-icon toolbox download check linkedin phone twitter-old google-plus facebook profile-male chat calendar profile-male
0 votes
Hi,
is it possible to have multiple different versions of TypeMock installed on the same machine?

We have many different projects based on an old version of TypeMock, and we'd like to move slowly to the newest version but, as soon as I install the latest version, the old one is automatically removed.

Can you please give me some hints on how to solve this problem?

Many thanks,
Deimos
asked by Deimos (4.7k points)

10 Answers

0 votes
Hi Deimos,

I'm sorry, but we do not support at this time side-by-side running of different versions of Isolator.

Which versions are you running? Maybe we estimate the risk of upgrading based on this information.

Thanks,
answered by gilz (14.5k points)
0 votes
Hi Gilz,
currently we're using TypeMock 3.7.1. Upgrading all the projects in one-shot is not a feasible way, and it would be extremely time consuming. Instead, we'd like to slowly upgrade all the projects. But, to be able to do this, we need both versions of TypeMock installed on the same machine (for example 3.7.1. and 4.2.3); in this way, old projects can continue safely to work.
answered by Deimos (4.7k points)
0 votes
A lot changes from version to version as defects get resolved and enforcement of mocks gets more strict, so you're going to find that a lot of the tests that used to pass in 3.7.1 won't pass under 4.2.4 (the latest)... and (at least in my experience) it's mostly due to incorrect mock setup that the older version "let slide" but the newer one won't let you be as lax about.

If all of your projects are in the same solution, you will probably have problems trying to upgrade piecemeal. One project using one version and another project using a different version in the same solution will make building the solution difficult.

However, if you can upgrade a solution at a time, you can use the MSBuild/NAnt tasks on your CI build server to auto-deploy the proper version at build time for the given solution and remove it when the build's done.

If you need to switch your developer machine from one version to the other, you could create some simple version switching build scripts that use the auto-deploy feature and switch to the right version before you open the solution to work on it. (That is, instead of installing on every machine, use the auto-deploy mechanism to "install.") The only downside to this is the auto-deployer doesn't also auto-deploy the VS add-in, so you wouldn't get that integration.
answered by tillig (6.7k points)
0 votes
Hi tilig,
our situation it's a little bit different, and maybe more simpler.
I have different solutions that are using TypeMock (on the same machine), and I'd like to update only one to the latest version of TypeMock.
answered by Deimos (4.7k points)
0 votes
Let me recap to make sure I understand: You have several solutions that use Typemock Isolator. You want to upgrade some or all of them to the latest version, but you can't do them all at once - you want to do them one at a time.

Assuming I understand correctly, then the section from the second half of my post addresses that case. The paragraph that starts, "However, if you can upgrade a solution at a time..."

Basically, you still only get to have one version of Typemock on a machine at once. You can switch versions of Typemock using the NAnt/MSBuild tasks and the auto-deploy featue they provide, but it means:
  • You can't actually install Typemock on any machine you need to "switch versions" back and forth on - either your CI or your dev machines (I've had some odd issues when auto-deploy runs on a machine where the product is installed).
  • You won't get the VS integration through auto-deploy, so dev machines won't have that benefit. Auto-deploy doesn't do the VS add-in.

You can do it, I've gotten it to work, but you can't have more than one version installed at a time so you do have to use the auto-deploy mechanism to switch back and forth between versions.
answered by tillig (6.7k points)
0 votes
Hi tilig,
thank you for yours valuable comments, but in any case it seems to me that there is not a simple solution, unless TypeMock will decide to support multiple installations on the same machine "officially" (auto-deploy also require an Enterprise license).

Personally I consider this a lack, because in a real production environment you need such kind of flexibility due its inner complexity level (i.e. many developers on many projects).
answered by Deimos (4.7k points)
0 votes
Hi Deimos,

you are right. Up until now we have not intended to support side by side installations. The Auto Deploy mechanism while in many cases can help on this, has its limitations.

However, I think that the need for such a capability has become clearer over the last couple of weeks (you are not the only one requesting this).

We will bring this up in our next planning session and hopefully this can be added to our to do list.
answered by lior (13.2k points)
0 votes
Hi Lior,
thank you for the answer. I'll wait for some good news :)

Deimos
answered by Deimos (4.7k points)
0 votes
Hi Lior,
any news on this topic? I also saw that in the latest version of TypeMock (4.3.1) .Net 1.1 is no more supported. This decision will force the user to install/uninstall more frequently two different TypeMock versions, if there is the need to mantain a .Net 1.1 project.

Thanks

Deimos
answered by Deimos (4.7k points)
0 votes
Hi Deimos,

Unfortunately not yet. The auto-deploy can help you here, but it does require Enterprise license. We are aware that the situation for 1.1 is more problematic, which we took into account when removing the support from it.

We'll keep you posted, and let you know once we have news.

Thanks
answered by gilz (14.5k points)
...