SmartClient/ClickOnce app deployment

F

Frank Rizzo

I have a SmartClient/ClickOnce app that needs to be deployed to a whole
bunch of sites. The app.config would have to be different for each
site. I am trying to do this in an automated manner (by calling
MSBuild). So MSBuild builds and publishes the app - in the process it
takes all the files and creates a hash. The problem is that the hash
would be different for every site (since app.config is different). Is
there a utility (or an MSBuild switch) that will do the hash separately,
so I don't have to call MSBuild to compile the same app 500 times.

Regards
 
B

Bill Woodruff

:

"I have a SmartClient/ClickOnce app that needs to be deployed to a whole
bunch of sites. The app.config would have to be different for each
site. I am trying to do this in an automated manner (by calling
MSBuild). So MSBuild builds and publishes the app - in the process it
takes all the files and creates a hash. The problem is that the hash
would be different for every site (since app.config is different). Is
there a utility (or an MSBuild switch) that will do the hash separately,
so I don't have to call MSBuild to compile the same app 500 times."

Frank, I'm not sure I can help you answer this question, but I think it
would be useful to know if the deployment mode is web-connection-dependent
(or intranet connection dependent) ClickOnce or stand-alone-after-download
ClickOnce with entry in the Start menu, etc.

Second, could you say a little more about why the app config would need to
vary ? Site dependent resources, auxiliary files or database connections ?

best, Bill Woodruff
dotScience
Chiang Mai, Thailand
 
G

Guest

Hi Frank,
You will want to use mage.exe for this. It is a command line tool in the
..NET Framework SDK for editing manifests. You can script out updating the
file. In fact, for this scenario, you will have to:
- Update the file list in the manifest
- Resign the manifest
- Update the app manifest reference that is in the deployment manifest
(because it too contains a hash of the app manifest)
- Update the deployment provider URL in deployment manifest to match the new
deployment location
- Re-sign the deployment manifest because its contents have changed

You can do all this by scripting mage.exe. I have coverage of this in my
upcoming book Smart Client Deployment with ClickOnce, and some guidance
packages that will be part of the Smart Client Software Factory from the
Patterns and Practices group at Microsoft that I authored for them.

Hope that helps.
 
F

Frank Rizzo

Brian said:
Hi Frank,
You will want to use mage.exe for this. It is a command line tool in the
.NET Framework SDK for editing manifests. You can script out updating the
file. In fact, for this scenario, you will have to:
- Update the file list in the manifest
- Resign the manifest
- Update the app manifest reference that is in the deployment manifest
(because it too contains a hash of the app manifest)
- Update the deployment provider URL in deployment manifest to match the new
deployment location
- Re-sign the deployment manifest because its contents have changed

You can do all this by scripting mage.exe. I have coverage of this in my
upcoming book Smart Client Deployment with ClickOnce, and some guidance
packages that will be part of the Smart Client Software Factory from the
Patterns and Practices group at Microsoft that I authored for them.

I think, this is exactly what we need.

Regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top