.net – Rebranding title / Start menu folder with ClickOnce application

clickoncenet

I have a ClickOnce application that I would like to "re-brand" for multiple clients.

Is there a way, without separate deployments or branched builds, to change the start menu folder/link of the application?

Obviously once it starts and gets the settings it can rebrand everything else from there…

Best Answer

There are a few ways to go about this. Like you mentioned you could make separate builds in Visual Studio or to create custom deployments using Mage/MageUI however if you want a single set of deployment files but to have the app re-branded based off of some other detail the best way is probably to play around with the idea of virtualizing or customizing some of the deployment files on the fly by exposing them through a custom ASP.NET website. I've done this successfully using a VirtualPathProvider but you could probably use a custom handler.

The main problem once you get this all working is that you must resign the deployment manifest and application manifest anytime there are changes made. This works fine if you want to have a single centralized deployment which all clients install from but if you want to be able to re-brand separate deployments dynamically then resigning means that you either share your code signing certificate at these sites or you require that each site maintains their own code signing certificate.

Let me know if you need any more specific details, I've worked on this extensively and I have several topics open on this topic under the MSDN forums and the Microsoft Connect site.

Related resources: