I have developed a tiny application with .NET 3.5 with c开发者_StackOverflowouple of forms and one rdlc report. after then I upgraded it to .NET 4.0 and distributed to the client with .NET client profile and windows installer 3.1 added in prerequisite. It installed and worked fine on one client but on the other client it gave unexpected error during .NET client profile 4.0. My application is relatively small and does not require .NET 4.0 functionality so now I downgraded it to .NET 2.0 and published it using clickOnce with .NET 2.0 added in prerequisite but on client machine it again shows error during installation and quits. For details of installation it refers to a log file that I could not locate on the system. I am developing on windows 7 and most of client machines use windows XP.
In .NET 2.0, 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.
精彩评论