I am try开发者_运维问答ing to install my program via ClickOnce on a clients PC - it has Win XP with .Net 2.0 runtime. It comes up with a problem during installation - saying that something went wrong during installation see below:
I looked at the event viewer and I saw the following:
Crypt32 Error, Event ID 11 Description: Failed extract of third-party root list from auto update cab at: http://www.download.windowsupdate.com/msdownloadupdate/v3/static/trustdr/en/authrootstl.cab with error: The data is invalid.
I'm not sure what's going on here but I'm guessing it's something to do with the digitally signed key in FC.MrsCore that "encountered a problem" and something to with certificates no doubt. In any case can anyone shed any light on what is going on here and how I can sort it.
I have installed this program on other PC's fine it's just this one PC that seems to be causing me some problems.
ClickOnce log files for each installation are written to the WinInet cache (the Temporary Internet Files folder), for both failed and successful deployments and launches. The log files unfortunately have obfuscated names that make it fairly difficult to identify which log file belongs to which application. You may also have to filter them from the dozens or hundreds of other files that end up in most users' Internet caches. The naming convention for these files is the prefix System_Deployment_Log_XXX, where XXX is the obfuscation.
You can also set a custom log file location. If you choose to do this, all errors are written to a single file in the location that you specify, and each activation appends its log entries to the end of the file. So this approach can give you a running commentary of multiple launch attempts.
To set this up, find the registry key: HK_Current_User\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment
Add a string value named LogFilePath, and set its value to a fully qualified path to where you want the log entries written (i.e. C:\temp\ClickOnceErrors.txt). Once you do that, all errors will be written there. You can also increase the level of detail logged by adding a new string value named LogVerbosityLevel and setting it to 1.
Edit: From your tests and comment, it appears as though the install is running correctly, and it's the program launch that's causing the problem. I suggest setting handlers on your app's main thread (see AppDomain.UnhandledException and AppDomain.ThreadException) to log the exception so that you can investigate the problem in more detail.
In this case the problem was fixed by upgrading a service pack to a 3rd party piece of software that was out of sync with my dev envionment. The error I have outlined was a bit of red herring or at the very least was ambiguous and led me down a few dead ends.
Anyway it's all sorted now - just make sure your software is at the same version between your dev and live envionments.
精彩评论