Rebranding title / Start menu folder with ClickOnce application
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...
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:
Allow more post-signing customizations to be done in the deployment manifest for ClickOnce apps
The bootstrapper (setup.exe) created along with a ClickOnce application in Visual Studio 2010 Beta 2 is STILL prompting
ClickOnce two versions of application on same client
Allow specifying the product name used to create the application shortcut in the the deployment manifest when "Use application manifest for trust information" option is used
Cannot specify product name with "Use application manifest for trust information" option
精彩评论