I'm deploying an applikation using ClickOnce
I need to include a dll from another project in the solution. This dll is not directly referenced in the project I'm trying to deploy, but is added as a Project dependency.
This dll is not getting bublished alongside the rest of the project files and references.
How do I get the ClickOnce deployment to include this dll file
--
sparrez

Including non referenced dll in ClickOnce deployment
SPWilkinson
1. I'd use msbuild publish target to get setup.exe file. Another way is by using GenerateBootstrapper msbuild task, but you would have to provide all parameters manually and then use SignFile task to sign it.
Using publish task also automatically gives you prerequisites (if you have any, Crystal, for example) listed in the manifest, MageUI will leave those prerequisites untouched when you update the manifest.
2. Publish.htm page is generated by VS2005, there is no way to get it outside of Visual Studio. You can generate it once, and then reuse by updating the version tag inside the page.
Leonid.
Kent Boogaart
You actually have no choice in VS whether to sign the ClickOnce manifests because they are required by ClickOnce.
So, what I think happened is you installed with the VS created key, and then you made modifications with Mage and then signed with a different key... hence the "identity has changed" error.
If that's what happened, just resign your manifests using Mage with the key in your VS project.
dataMonkey
You can use mageui to add files, just point to the folder and click Populate. It will also check for subfolders, and add files from there.
Mage.exe with -u and -fd switch will do the same from the command line.
Leonid.
Roy mm
If you add the .dll to the project and set it's Build Action to "Content", then it will be included, and it will show up in the Application Files dialog on the Publish tab where you can verify this.
kenny125
I'll see if there is a difference
--
Sparre
johnof
Sparre,
In addition to updating and signing the .manifest file, you also have to update the .application file. Open .application file in MageUI, go to Application Reference page, click on Select Manifest button, and select your .manifest file. Then click save and sign the .application file.
Leonid.
Riyadh Calling
Leo Mathew
But how do I add the setup.exe file and the publish.htm page
--
Sparre
aquib
Did you re-sign the deployment manifest after making changes to the application manifest If not, use MageUI or Mage to do so. The deployment manifest keeps a reference (including hash value) to the application manifest, so any changes invalidate the reference.
Leonid
Steve Hempen
Exactly...
So, the easiest way is to build the project using Visual Studio, then use MageUI to modify the ClickOnce manifest if you need to. This way, you get the publish.htm and the setup.exe bootstrapper built for you and all hooked up.
I did want to clarify something from before... you don't need to add the file as a reference, just add it as a file to the project... then it will be available as a downloaded file. MageUI is another way to make this happen.
If you like the command line / SDK way of building these things, you can download and use Bootstrapper Manifest Generator to create an MSBuild project to build the bootstrapper. It's at: http://www.gotdotnet.com/Workspaces/Workspace.aspx id=ddb4f08c-7d7c-4f44-a009-ea19fc812545
Tom_Liu
So, I tried deplying it and then adding the dll to the folder where I published to, and the adding the file to the manifest using the MagUI app
But the I got the following errors when trying to run the app from the website
+ Manifest XML signature is not valid.
+ No signature was present in the subject.
So I tried signing it by making a new keyfile in MageUI, no problem there, but the I get the following error
+ Reference in the deployment does not match the identity defined in the application manifest.
Any idea how to solve this , what is causing it
Jimmy Seow
Hello,
Its seems that clickonce only published dll part of the bin directory, you can add post build action copy that file (dll) to the bin location (auto process).
I check the mageui application , there is no way of adding new file to the application file list.
thanks.
Yaron Karni
www.attunity.com
http://dotnetbible.blogspot.com
AlexBB
We use Reflection to create objects from different assemblies dynamically and we don't have the possibilty to have all those referenced in the project as some are delivered by third party.
But I think the MageUI approach is the way to go for now. If I could just get it to work :o)
Novelle
+ Application manifest has either a different computed hash than the one specified or no hash specified at all.
+ File, MyApplication.exe.manifest, has a different computed hash than specified in manifest.
Heres what I did
But that didn't work.....
--
Sparre