There seems to be no step by step process documented anywhere on the web on how to do this. If it is mentioned, it's very poorly documented, and I cannot follow the complex path they suggest. I am a newbie to ClickOnce, I've been able to get my c# program to install correctly on the users machine, but of course I get the "22E88GD7-FB0B-B905-CCA6BD526B52" "class not registered", implying I believe that QBFC13 is not installed on the users machine. My customer does NOT want a separate one time installation of QBFC using the standard QB installer outside of ClickOnce, he wants it as part of ClickOnce. Is it really that complex and a poorly documented process? All of the google searches and stackoverflow entries that I've seen don't give a way to do it easily or completely so that a newbie can do it. Help!
相关问题
- Sorting 3 numbers without branching [closed]
- Graphics.DrawImage() - Throws out of memory except
- Why am I getting UnauthorizedAccessException on th
- 求获取指定qq 资料的方法
- How to know full paths to DLL's from .csproj f
In VS2012, you need to add a Prerequisite (Project Properties --> Publish --> Prerequisites...).
However, QBFC is not in the list by default, so Microsoft's Bootstrapper Manifest Generator is needed to create your own. Unfortunately, it is buggy and confusing. So here's how you do:
In the tree, alt-click "Package", then "Add Install File" - browse to the .msi or .exe
Display Name - "The name that will show up in Visual Studio"
System Checks - click the first icon "File Check"
Property for Result - The file property from Step #3 that you'd like to test
Start Search in Special Folder - match this to Step #6.2
Path - match this to Step #6.2
Move/Copy this entire folder to:
Here's the working "product.xml" I generated for QBFCv11:
In the clickOnce deployment, we can add pre requisites. In that if you add the QBFC.exe package then it will automatically install into clients machine from your deployment server. For adding QBFC as pre requisites, it should add in
C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\Bootstrapper\Packages
in the deployment server. There is one XML for Naming convernsions. But, easy way is to useThanks.
A ClickOnce installation takes place in the context of the current user. If the current user is not an admin, he can not install anything that requires registration in the environment. So what you're asking probably is not possible directly.
What you could try to do is install a little helper application along with your application which is able to register your components/execute an installer and have your ClickOnce application execute that with Administrator permissions if possible. That, however, would only work if the user really has admin rights on the machine.
Even if you have the prerequisites installed prior to the ClickOnce installation, an administrator will have to execute that before any user on the machine can.