Changing Development Machine for my ClickOnce App

Posted on 2011-09-15
Last Modified: 2012-05-12
I have a click once app that I publish to my local network share and have ~100 users installed.  Works great.   My development machine is Vista with VS2008 is older and in need of replacement.    The thought of changing the machine makes me nervous.... When I do my next published update from my new development machine, anything to watch out for?

The old machine is Vista.
The new machine is Windows 7.    

Both will develop with VS2008.    I just don't want to have any gotcha's that will require re-install of all 100 clients.

Question by:browe68
  • 5
  • 4
  • 2
  • +1
LVL 46

Expert Comment

by:Martin Liss
ID: 36546034
Are you actually changing the PC or just upgrading the OS?

If it's the latter then probably nothing to worry about but make sure that you have created a checkpoint from before the upgrade that you can go back to in case there are serious problems.
LVL 40
ID: 36546280
If you created your own digital signature on your old compuete, you might have to transfer it to the new computer.

Strangely, you do so through Internet Explorer.

In the Internet Options dialog, you go to the Content tab, and the Certificates button.

Select your signature. This can be hard if there are many and you did not took a note when you created it. The date might help you.

Export your signature, taking care of specifyint that you want to export the Private key, and select the default certificate.

Put the resulting file in a secure location in case you need to reuse it elsewhere.

If you have problems compiling or publishing your application from the new computer, copy the file on it and import it through the same way in Internet Explorer.


Author Comment

ID: 36546507
Actually, this is a brand new computer that has all the components reinstalled.  (i.e. Visual Studio, Crystal reports, etc...)   My ClickOnce app is not digitally signed - so I hope I am safe there.   I have it as a Trusted App, so only users on my network can use.

My concern is that when I publish from the new machine - what might go wrong!   Which brings up the next question of what is best 'rollback' strategy on a publish (that might have issues).
MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

LVL 46

Expert Comment

by:Martin Liss
ID: 36546519
Keep the old PC around until you can verify that the new one works okay. Or perhaps partition the new machine to run both Vista and Win 7 and copy your current environment to the Vista partition.
LVL 83

Assisted Solution

CodeCruiser earned 100 total points
ID: 36570509
I would change MartinLiss's suggestion a bit. Publish a test app from old computer and install on 1-2 computers. Then move it to new machine and publish from there and see the impact.
LVL 40

Accepted Solution

Jacques Bourgeois (James Burger) earned 400 total points
ID: 36570751
If the application install, its because everything went well. Otherwise, ClickOnce would automatically perform a Rollback.

If you want to feel safer, the Publish version does not have to be the same as the application version.

Publish from the old computer, noting the Publish version, such as 1.3.4
Publish from the new computer, incremengint the Publish version : 1.3.5
If something goes bad go back to the old computer, and republish, incrementing to 1.3.6

The Publish version is the one that ClickOnce use. So you can override a newer version of the program with an older one, as long as you increment the Publish version.
LVL 40
ID: 36574857
Another one I forgot.

The user can always rollback to the previous version (only the last one) through the Control Panel. If he requests a Repair / Install on the application, he will have the choice to bring back the last version installed before the update.

Author Comment

ID: 36574950
Hey James, thanks for all of the suggestions...  I was unaware of the 'Restore the application to its Previous State".   So, that will roll it back 1 version?
LVL 40
ID: 36574970

ClickOnce always keeps 2 copies of the installation for a ClickOnce deployment. The last Update, and the one before. So, automatic Update if needed.

I am too often thinking of my side of things as a programmer and had forgotten about that one on the side of the user.

Author Comment

ID: 36575161
Also, any tips on rolling back at the server level?  One strategy I have used is to make a copy of the Setup Folder on Server before Publish.  If something goes wrong after publish, I just replace that folder with the backup.  It has worked a few times in a pinch.

LVL 40
ID: 36575545
Better than making a backup before Publish, make a backup of the whole project every day :-)

Author Comment

ID: 36575797
I do that too.

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
This article shows how to deploy dynamic backgrounds to computers depending on the aspect ratio of display
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

821 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