ClickOnce deploy testing


Author
Message
Keith Chisarik
Keith Chisarik
StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)
Group: StrataFrame Users
Posts: 939, Visits: 40K
Any ClickOnce users that can tell me how to test deployment?

Is it as easy as publishing to alternate location and running from there?

I published (to web) a small application and it is live. I have now made changes, including implementing a new reporting engine, and I want to test the deployment without publishing it to the production site and potentially making unhappy users if I dont have it right.

TIA!

Keith Chisarik

Reply
Greg McGuffey
Greg McGuffey
Strategic Support Team Member (4.8K reputation)
Group: Forum Members
Posts: 2K, Visits: 6.6K
Yep, I have some ideas. Anything to stop the (American) football talk. Tongue



OK, you can definitely publish to multiple deployments, but there are some tricks and if you mess it up, you'll likely whack your local installs and have to do a manual removal. Blink I have 3 deployments going usually. One for internal testing, one for user testing and one for production. All three can be installed on a given machine. This assumes you aren't doing anything funky with the GAC or have dependent apps where versioning could get weird. Just a straightforward x-copy sorta install. If it's more complicated, you could likely get it to work, but the fun increases exponentially.



The first thing to realize is that you MUST have a different publish version every time you deploy. I think I had the best luck also changing the app versions too. Not doing this is painful, as sooner or later you'll fubar you local work station and have to delete all deployed apps manually. (A great learning experience!).



The next thing to understand is that you have to update the product name. This can't be done on the publish page, but has to be done via something like MageUI (comes with .NET SDK). The product name and the version are what .NET uses to figure out if an install is the same app. I know, based on this, you'd think that incrementing the publish version wouldn't be so critical, but trust me, it is.



Next, you have to remember is that deployments are signed with a hash. After you change the product name, you then have to reselect the application manifest (the one defining the files) so it gets resigned.



And in order for any of this to work, I'd suggest you separate publishing from deploying. I.e. you will publish it to you local hard drive, then update using mageui, then deploy via file copy methods (ftp, vpn to the server, UNC path etc).



Here are a couple of blogs about this from the guy that wrote the book on ClickOnce (Brian Noyes).



http://www.softinsight.com/bnoyes/PermaLink.aspx?guid=fe63caf8-a84e-4cb4-a784-703835ac327e

[url]http://www.softinsight.com/bnoyes/PermaLink.aspx?guid=bd37cddc-3574-49fc-b226-a7df516ecb43[url]



To the best of my recollection, here is the process I followed (besides any other normal setup, like setting minimum version):



In VS

1. Update versions. Forgetting to do this will likely break deployment on any machine previously installed on, likely corrupting application store on local machine. Fun. Blink

2. Update publish locations. I set the publishing folder (where on hard disk to publish to) AND the installation folder (the URL it's deployed from). I have folders for alpha, beta and production.

3. Publish

4. Open .application (deployment manifest) in MageUI.

5. Update product name. This is the "Name" field on the first tab in Mage. It is used to determine what product is being installed by ClickOnce and must be unique for each deployment.

6. Update the display name. This is the "Product" field on the Description tab. This is what is displayed on ClickOnce dialogs and on start menu items (if used).

7. Reselect the application manifest (.manifest) on the Application Reference tab.

8. Save file (resigns both the application manifest and the deployment manifest). Forgetting to do this will mean deployment won't work.

9. Copy to appropriate deployment server.

10. Update you're access HTML page to point to right application manifest.



See, simple! Wink Actually, when I was doing this regularly, this entire process took 5-10 minutes, maybe a bit more. The zip file I'd copy to server was 7+ MB.







GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Threaded View
Threaded View
Keith Chisarik - 15 Years Ago
Trent L. Taylor - 15 Years Ago
Keith Chisarik - 15 Years Ago
Trent L. Taylor - 15 Years Ago
Greg McGuffey - 15 Years Ago
Keith Chisarik - 15 Years Ago
             I was about to say :)
Trent L. Taylor - 15 Years Ago
Bill Cunnien - 15 Years Ago
                     Check this out: http://blog.kineticjump.com/
Bill Cunnien - 15 Years Ago
                         I have actually had a conversation with these guys and this really is...
Trent L. Taylor - 15 Years Ago
                             The thing that didn't work in my situation was the initial deployment....
Greg McGuffey - 15 Years Ago
                                 ClickOnce is good.
MSI with AppLife is better.

I've...
Bill Cunnien - 15 Years Ago
Keith Chisarik - 15 Years Ago
Edhy Rijo - 15 Years Ago
Keith Chisarik - 15 Years Ago
             Excellent! Glad I was of help! :D
Greg McGuffey - 15 Years Ago
                 Brian Haas has posted an...
Bill Cunnien - 15 Years Ago

Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search