Can not publish ClickOnce application with Visual Studio 2008 on Vista
-
Sunday, February 01, 2009 2:24 PMHi,
I used ClickOnce publishing during 2 monthes from Windows XP SP2, it worked perfectly. However, now I reinstalled OS and I have Vista. The problem is that when I open any my ClickOnce enabled project (both new ones and also ones that worked OK on Windows XP), no one project can be published via ClickOnce. I got following error:
An error occurred while signing: Failed to sign ..\bin\app.publish\\setup.exe. SignTool Error: Signtool requires CAPICOM version 2.1.0.1 or higher. Please copy the latest version of CAPICOM.dll into the directory that contains SignTool.exe. If CAPICOM.dll exists, you may not have proper permissions to install CAPICOM.
However, I have capicom.dll in signtool.exe folder, as well as I have installed CAPICOM SDK (it includes DLL version 2.0.1.2). Even more, I can sign any file manually with signtool signwizard command. So it looks like some Visual Studio or Vista bug? Did anyone have such problem? Is there any way to bypass it? For now, automatic publishing is actully not work in VS 2008, and I am forced to publish ClickOnce manifests manually, and it spends a lot of time.- Changed Type Bruce.Zhou Monday, February 09, 2009 1:41 AM Not followed up in time
All Replies
-
Sunday, February 01, 2009 8:05 PMModerator
Are you signing your ClickOnce deployment? If you go to the Signing tab for your project, do you have a certificate selected?
If you are just pushing updates for the same application, you will want to track down the certificate file (pfx) you used to use and sign with it instead of creating a new one, so the deployment does not think you created a new certificate.
If you are just deploying something new, you can create a test certificate and use that.
RobinS.
GoldMail.com
Ts'i mahnu uterna ot twan ot geifur hingts uto. -
Monday, February 02, 2009 8:16 AMYes, I have certificate and I signing it. Visual Studio can not sign setup.exe (so file that install prerequisites). Acutally it generates ClickOnce manifest, signs it and saves in app.publish subdirectory of bin (project output) directory. When ClickOnce manifest already generated and signed, VS tries to generate and sign setup.exe. setup.exe is generated successfuly, however, when VS calls signtool.exe to sign setup.exe, it fails with error message shown in my first post. When I run signtool.exe manually, it works OK. So it looks like on Vista VS 2008 runs signtool.exe with wrong parameters, or that .NET installer has bug on Vista, because:
1. VS generates and signs ClickOnce manifest successfuly.
2. I can sign setup.exe manually (with signtool) successfuly.
3. On XP this project were build successfuly (with the same certificate and other settings).
Possibly installer has bug on Vista, and VS is misconfigurated. But I still can not understand what concrete problems present in configuration.
Is it possible to know what command line VS sends to singtool.exe during build? Default VS 2008 output window shows error message only, but never shows real command line. -
Tuesday, February 03, 2009 2:30 AMModeratorI haven't seen this problem. I wasn't aware that the setup.exe was signed. The setup routines for the prerequisites should be signed, but the setup.exe? If that's the case, then mine must work automatically, and I don't know what to tell you. You could try uninstalling and reinstalling VS2008 and see if it fixes the problem. Also, do you have Sp-1 installed?
I"m running VS2008 on two Vista machines with no problems, and am able to publish all kinds of applications (including VSTO) with no problems.
RobinS.
GoldMail.com
Ts'i mahnu uterna ot twan ot geifur hingts uto. -
Tuesday, February 03, 2009 10:24 AM
I have not SP1 installed. The problem is that I am using free pirated VS2008 as well as free pirated Vista, and I am not sure is it compatible with SP1.
Everything is published OK when I disable prerequisites setup.exe generation. Possible I have to find pirated VS2008 SP1 and Vista SP1 to fix this problem.
-
Tuesday, February 03, 2009 8:12 PMModeratorI can't condone using pirated software (being a software developer myself, who wouldn't want someone to pirate MY software), and I don't know if that's causing your problem.
How about if you download C# Express or Vb Express (whichever is your language of choice) and try opening your project and publishing with that, and see if it works? Those are free by the way.
RobinS.
GoldMail.com
p.s. That knocking at the door is the Microsoft lawyers coming after you for using pirated software. ;-)
Ts'i mahnu uterna ot twan ot geifur hingts uto. -
Thursday, February 05, 2009 3:18 AMHi Vitaliy,
Have you registered the newer verison of capicom.dll which is next to the SignTool.exe by using regsvr32 from the command line?
Best regards,
Bruce Zhou
Please mark the replies as answers if they help and unmark if they don't. -
Monday, February 09, 2009 1:41 AMWe are changing the issue type to “General Discussion” because you have not followed up with the necessary information. If you have more time to look at the issue and provide more information, please feel free to change the issue type back to “Question” by opening the Options list at the top of the post editor window, and changing the type. If the issue is resolved, we will appreciate it if you can share the solution so that the answer can be found and used by other community members having similar questions.
Please mark the replies as answers if they help and unmark if they don't.