views:

26

answers:

2

We have a system where we need to install this on 80+ client machines. We thought that ClickOnce might be a good option, but we are hoping to have a 'drop folder' where our Creative team can drop new images for the application. Once they do this, they can also update a config file that points to the images. Each of these changes should trigger a download of whatever new images is present. It doesn't seem that ClickOnce will work for this. We are expecting to know exactly where the app is installed and I don't believe ClickOnce can do that. I have seen nothing about overriding the installation location in ClickOnce deployments.

I've been reading everything I can on this, but I'm not finding any situations that are similar to ours. Any suggestions on where I should head with this?

Thanks! Mark

A: 

First, how time critical are these updates?

In other words, once your Creative team makes an update, what is an acceptable lag time until an application downloads the changes?

Keep in mind that "THERE IS NO REAL TIME".

There will be some lag time due to transmission rates, bad network connections, et cetera.

bnieland
I think the plan would be to stage the images during the week and then stage the new config file a couple days later. Like the one click functionality, we'd like to install and have the program get the new images or config file when it checks for an update. Essentially, next program run is when I'd want to download the new images.Thanks!
mkeller
A: 

Okay,

Here is what I would do:

Client Folders

Create two folders for media/config files on each local machine. Folder A, and Folder B

Server Folders

Create two folders for media/config files on the server machine. Folder A, and Folder B

Web Service

Create a web service on a server where you can serve a single string: the active folder:

Client Polling

The client application polls the web service periodically (once an hour, once a minute, once a day, et cetera) for the folder it should pull images and config files from.

When a change is found

If this folder name returned by the web service changes, the application reads the new web config, and downloads the new images to the folder named by the web service, and after all else is done, set the paths in the application to the new folder location..

Marketing sees the other folder

In the app.config of each deployment, you add an app setting for "isMarketingInstall". If this is set to true, then it will use the opposite folder than the one the web service returns. Ii.e., if the web service returns "Folder A", the marketing install will see "Folder B".

Publishing

When marketing decides to publish, set the permissions on the old folder to allow marketing to edit, revoke edit permissions for Marketing on the new folder, and set the web service to return the name of the new folder.

Of course change logs, audit trails, backups, et cetera should be included, but this is the basic idea.

bnieland