ClickOnce HOL Question

Topics: CAB & Smart Client Software Factory
Mar 7, 2006 at 5:55 AM
originally posted by: MarcoPaul

I'm working through the Hands on Lab for the ClickOnce piece, and I am having trouble deploying the modules the shell uses. The lab doesn't mention how to make sure these dll's get included in the deployment. Any ideas?
Mar 7, 2006 at 6:02 AM
originally posted by: matiaswoloski

From Peter Provost blog:

"Because ClickOnce uses a project's references to determine dependencies, it won't correctly identify that BankShell depends on BankTellerModule. The most CAB friendly way that we have found to get this resolved (without actually adding references to BankTellerModule) is to do this:

1. Right-click on the BankTellerModule project and choose Properties.
2. Go to the Build Tab and change the Output path to "bin\Debug\".
3. Build the BankTellerModule project
4. Right click on the BankShell project and choose Add Existing Item from the Add menu. Browse to the BankTellerModule\Debug\bin directory. Change the File Type dropdown box to "Executable Files". Select BankTellerModule.dll. Important: Do not click the Add button! Instead, click the little down-arrow on the right side of the Add button and choose Add As Link. You should now see the BankTellerModule.dll file in the BankShell project and it should have a little shortcut overlay icon.
5. Click on the linked BankTellerModule.dll in the BankShell project and press F4 to get right properties Tool Window open for that file. Make sure that Build Action is set to Content and that Copy to Output Directory is set to Copy If Newer.
6. Reopen the BankShell properties page by right-clicking on the BankShell project and choosing Properties. Open the Publish Tab and click on the Application Files button. Make sure that BankTellerModule.dll and ProfileCatalog.xml both have their Publish Status set to Include and are in the Required Download Group. (Note: You may have to select the "Show all files" checkbox to see the files.) "

Mar 7, 2006 at 6:57 AM
originally posted by: MarcoPaul

Thank You!
Mar 7, 2006 at 9:31 AM
originally posted by: BradWilsonMSFT

Alternatively, you can have the shell take explicit dependencies on the modules (that feels a little less hackish to me).