Welcome to MSDN Blogs Sign in | Join | Help
Web setup Package: fails while executing WEBCA_EvaluateURLsNoFail custom action

MSI (c) (88:E4) [10:56:51:444]: Note: 1: 2769 2: WEBCA_EvaluateURLsNoFail 3: 1

MSI (c) (88:E4) [10:56:51:444]: Note: 1: 2262 2: Error 3: -2147287038

DEBUG: Error 2769: Custom Action WEBCA_EvaluateURLsNoFail did not close 1 MSIHANDLEs.

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2769. The arguments are: WEBCA_EvaluateURLsNoFail, 1,

Action ended 10:56:51: WEBCA_EvaluateURLsNoFail. Return value 3.

 

 

Workaround:

===========

 

1) Install the IIS 6.0 Resource Kit

 

2) Run the "Metabase explorer" (after installing the above, it will be under start menu -> IIS Resources -> Metabase explorer)

 

3) In the metabase explorer program, browse to the following metabase path: "/LM/W3SVC/"

 

4)Most commonly you'll see things like "APPPOOLS", "FILTERS", "INFO", and "1" (1 is the default website)

 

5) If you click on any particular folder under "W3SVC", it will show a list of properties to the right - verify that each folder contains a property with an ID of "1002" and a name of "KeyType". The value of "KeyType" doesn't matter for this issue; it just matters that the property exists, and just in case, make sure it isn't blank.

 

6) If you find one of the folders is missing this property, you can add it by right-clicking in the properties area (on the right) while the folder is selected, and choosing "New -> String Record". Now in the window that appears, where it says "Record Name or Identifier", type or select "KeyType" (case sensitive). Click "OK" to create the property with a blank value. Now double-click on the property in the properties window, and set its value to the string "Test", so that it isn't blank.

 

ClickOnce Application Launch Issues

1)An Error occurred during writing to the disk. Please check that disk is not full

 

-On Vista machine C:\Document and settings\<User>\Local settings\Apps this folder dint have Administrators under Security.

Most probably User Profile issue. create New user profile to resolve the issue.

 

 2) IE doesn’t recognize MIME (.application) for ClickOnce
Message : .application “Unknown MIME Type” , You want to save the file or Cancel

 

-Provide Registry permission through SubInACL tool to overcome IE issue

 

3) Office assemblies to integrate to Outlook fails during Deployment With ClickOnce
 Strong name signature not valid for this assembly stdole.dll

 

-Office assemblies should not be distributed randomly. Either PIA should be installed on target machine or added as prerequisite to ClickOnce Project

 

4) ClickOnce Launch second time gives Error

The remote server returned an error: (401) Unauthorized on ClickOnce application

 

- Application was getting Launched from Shortcut - shortcut was available at
C:\Documents and Settings\USER.HM\Application Data\Microsoft\Internet Explorer\Quick Launch\ Track-It! 8 Technician Client (2).appref-ms

 

-Add-on for IE was not allowing Launch from shortcut. Create fresh shortcut from Application Exe (located inside ClickOnce Cache) would resolve the issue

 

5) ClickOnce application doesn’t launch on client machine (No Error)

 

- Proventia Desktop and Kingston Mouse Driver would not allow Clickonce to run on the machine. There are other known Application as well.

 

6)Client cannot launch the application, Error : Store metadata "AppType" is not valid

 

- Issue is as follows:
DFSVC.exe (ClickOnce service) makes a call into System.Deployment.Application.ComponentStore.GetPropertyAppType

which then calls System.UInt16.Parse
appTypeStr in this case is "0" which is a valid string for the number 0. However, we're getting the following exception:

System.FormatException
 Input string was not in a correct format

 

This is Known issue and Working Fix is available at KB 942460

Clickonce: Failed to sign bin\Debug\ICE.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.

 

Workaround

========== 

-Copy the DLL to the correct folder

Which would be From %Program Files%\Common\Microsoft Shared

to the location where Signtool stored. 

For VS2005 

%Program files%\Microsoft Visual studio 8\SDK\v2.0\Bin

For VS2008  

%Programfiles%\Microsoft SDKs\Windows\v6.A\Bin\

 

-We need to Perform registration as well.

registered the Dll to register

Start | Run | regsvr32 “<Path>\CAPICOM.dll

 

To register We could also Type regsvr32 and drag the DLL to the run window

 

 

Clickonce: Clickonce Deployment through Application virtualization

Clickonce Deployment is by design Created to Deploy  in Per-user Environment

We could not change the Target path to Clickonce Application. By default Clickonce would only Point to Root Drive\%User Profile%\Local\Apps

-Generally through Soft grid or Citrix server virtual Drive would be created and Deployment would be to those virtual Drive.

-Clickonce would not completely work on those environment as it wouldn't understand the Virtual drive location and still try to Deploy to the Default Local drive of the machine

 

Workaround

----------------

-Clear the Clickonce cache through Mage -cc or manually Deleting %userprofile%\Apps Folder

-Clickonce on Virtual environment is not the best Practice. Allow click once to Deploy to Local drive and than programmatically try to transfer Content of Clickonce Cache to Virtual Directory

Clickonce: Shortcut on Desktop is not available

Windows installer or MSI project had inbuilt .lnk shortcut feature available.

We could also use Shell Shortcut

ClickOnce could create shortcut in Startup Menu. However Creating Desktop Shortcut is not available feature in ClickOnce

Please use this program to create desktop shortcut. However this is just copying of Start menu shortcut

So application must be launched first time and second time desktop shortcut could launch it.

Generally ClickOnce launches automatically after installation, if it doesn't please check

Properties | Publish Tab | Option Button | Uncheck "Block application from being activated via a URL"

To create shortcut here is the C# application

-------------------------------------------------------

static void Main(string[] args)

{

Console.WriteLine(Environment.SpecialFolder.Programs);

            try{

            //if(System.Deployment.Application.ApplicationDeployment.CurrentDeployment.IsFirstRun)

                copyShortcut("Companyname", " ApplicationName.appref-ms");

            }

            catch (System.Deployment.Application.InvalidDeploymentException ex)

            {

                Console.WriteLine("Please run this application from the shortcut in the Start Menu to get the automatic update   feature working." +"\n\n" +"You can create a desktop shortcut from that particular shortcut if you like.");

            }

            catch(Exception ex){

                //other exceptions

            }

        }

       static void copyShortcut(string manufacturerName, string shortcutFileName )

       {

        string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\" + shortcutFileName;

        string startPath = Environment.GetFolderPath(Environment.SpecialFolder.Programs) + "\\" + manufacturerName + "\\" + shortcutFileName;

        try{

            System.IO.File.Copy(startPath, desktopPath, true);

        }

        catch(Exception ex){

            throw ex;

        }

        }

To get the Same code in vb

Please consider this as copy of shortcut and not real shortcut. During uninstall of your product, the desktop shortcut would stay back at desktop

ClickOnce: application does not install when the deployment path includes ampersands

 

After running the publish wizard and running the setup.exe, a message box is shown saying that the "Application cannot be started. Contact the application vendor".
ERROR DETAILS
Following errors were detected during this operation.
* [13/08/2008 11:07:34] System.ArgumentException
- Value does not fall within the expected range.
- Source: mscorlib
- Stack trace:
at System.Deployment.Internal.Isolation.IDefinitionAppId.EnumAppPath()
at System.ActivationContext.CreateFromNameAndManifests(ApplicationIdentity applicationIdentity, String[] manifestPaths)
at System.Deployment.Application.ActivationDescription.ToActivationContext()
at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState subState, ActivationDescription actDesc)
at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut)
at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

 

Workaround

This is Known Issue Currently and Simple workaround is don't use "&" in File path of Clickonce publish location

The Issue expected to be Fix in Next version of .Net Framework

Clickonce: Application has COM references Needs to be registered

ClickOnce Application is not advanced like MSI. If you have COM references that needs to be register on Client to run the application correctly we have to create Bootstrap manifest generator

For any Additional Data or required of third party application would also needs to be added as prerequisite

To add prerequisite in Visual studio 2005, we need to create Simple MSI project and create BMG through this tool

http://code.msdn.microsoft.com/bmg/Release/ProjectReleases.aspx?ReleaseId=1569

The same tool is available for VS2008 and would get updated at above location. However sometime creating Prerequisite through this tool will cause Visual studio Crash

Workaround

-The failure could be corrected by comparing other prerequisite Product and Package XML and correcting it with Space and other tags.

You could also create your Own Prerequisite Manually

1. Create Setup Project using Visual studio(Or any other Tool).For Ex I am using MSI name as Reference.msi

2.Create Package.xml

<?xml version="1.0" encoding="utf-8"?>

<Package xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" Name="References" Culture="En">

<PackageFiles CopyAllPackageFiles="false">

<PackageFile Name="References.msi"/>

</PackageFiles>

<Commands Reboot="Defer">

<Command PackageFile="References.msi" Arguments="">

<ExitCodes>

<DefaultExitCode Result="Success" FormatMessageFromSystem="true"/>

</ExitCodes>

</Command>

</Commands>

</Package>

3. Create Product.XML

<?xml version="1.0" encoding="utf-8" ?>

<Product

xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper"

ProductCode="References"/>

4. Create Folder References Under C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages (For X64 machine Copy under (ProgramFiles(X86))

Add Reference.msi, Product.XML under it. Create folder called en and Add Package.XML under this folder

NOTE: References is name for Example, Change it according to your prerequisite Application name

5. Launch VS 2008 Select project | Properties | Publish | Prerequisite Button

You would See references listed under prerequisite List

Clickonce:Clickonce Application can be created with Command line

ClickOnce deployment enables you to publish application. Visual Studio provides full support for publishing and updating applications deployed with ClickOnce technology.

ClickOnce application stores assembly information in Application manifest and application information inside Deployment manifest

We could create this by using Mage or MageUI tool

Can we create ClickOnce application without Visual studio ?

If we have windows SDK installed we could use Command line to create ClickOnce application, which is using MSBuild

Known Issue for creating ClickOnce through command line

=============================================

MSB3147: Could not find required file 'setup.bin' in 'C:\<Projectpath>\Engine\Setup.bin

-Please check the Windows SDK C:\Program files\Microsoft SDK\Windows\Vx.x(where x.x=5.0,6.0,6.0A,6.1)\Bootstrapper Folder

If you don't have this folder available, that means you could not create bootstrapper (Setup.exe) from your SDK

To overcome either we could manually Copy Bootstrapper\Engine folder from another machine where SDK has it.

Bootstrapper is nothing but wrapper which calls deployment manifest. We can run our application without that as well

Please check the MSDN For Full information on ClickOnce Command line and Properties

Clickonce: Publish on IIS fails with System.Deployment.Application.DeploymentDownloadException (Unknown subtype)

<Error Log>

Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of C:\Documents and Settings\<Username>\Local Settings\Temporary Internet Files\Content.IE5\PEB6XSQC\*.application resulted in exception. Following failure messages were detected:
        + Downloading file:///C:/Documents and Settings/<username>/Local Settings/Temporary InternetFiles/Content.IE5/PEB6XSQC/<Appname>.application did not succeed.

ERROR DETAILS
    Following errors were detected during this operation.
    * [10/28/2008 3:00:20 PM] System.Deployment.Application.DeploymentDownloadException (Unknown subtype)
        - Downloading file:///C:/Documents and Settings/ykasan/Local Settings/Temporary Internet Files/Content.IE5/PEB6XSQC/HIC Report Launcher.application did not succeed.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
            at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()

 

<Workaround>

In My case the Publish Location was \\<Servername>\c$\wwwRoot\VirtualDirectory\
This UNC path was Publishing the application on the web server under same Domain
However, when we changed the publish Location to http:\Webserver\Visrtual Directory in Place of UNC Visual studio gave Error

Failed to connect to 'http://<Server>/<Virtual Dir>/' with the following error: Unable to create the Web site 'http://<Server>/<Virtual Dir>/'.  The Web server does not appear to have FrontPage Server Extensions installed.           

Resolution

-Check if Web server has FrontPage Extension installed and Install it if its not installed already
-check that FrontPage extension is accessible as well
http://msdn.microsoft.com/en-us/library/aa984224(VS.71).aspx

-Check that Clickonce MIME types are also set on web server

To set MIME types in the IIS root directory's -> Properties -> HTTP Headers -> MIME Types.RightClick the Default Web Site of your IIS, then Select Properties, then go the HTTP Header tab. Near the bottom of the tab there is a command button called MIME Types
Click the MIME Types button. A New dialog pops.

Extension to .application and MIME Type to application/x-ms-application
Extension to .manifest and add MIME Type to application/x-ms-manifest 
Then add the Extension to .deploy and  add MIME Type to application/octet-stream

Please check MSDN For More information on MIME types and Clickonce Configuration.

Clickonce Application Fails to Publish with Empty Error Message

ClickOnce error message

 

<Error Log>

"Error occurred attempting to extract setup configuration file"

<Workaround>

The root cause of the failure is unknown. But Some web related application stops  Clickonce application Download correctly

Some Known Issues are with Installation of

Microsoft Web Services Enhancement 3.0
.NET Memory Profiler by SciTech Software 3.0
WebEx, Black Ice, Oracle Developer tools

-Removal of this software will resolve the issue. after publish you could reinstall those application again. If none of this software are installed Please check if any Application is interacting with IE(Web)removal of that should help

Clickonce:when IE tries to execute the .application file it comes up with a prompt asking to save the .application file

Errorscreenshot

 

It Gives prompt with Unknown File type

This Could be the issue with Local MIME types or permission on Internet Explorer
1)For Fixing MIME, Please install related .Net Framework version on the machine and repair in case its already installed

2)For permission we should check user and machine problems.
-Please create a new user profile and try launching the application from new user
To check Permission Process monitor could be used

Process monitor Log would look like
===========================
iexplore.exe    1480    RegOpenKey    HKCR\.application    ACCESS DENIED    Desired Access: Query Value
iexplore.exe    1480    RegOpenKey    HKCU\Software\Classes\.application    NAME NOT FOUND    Desired Access: Query Value
iexplore.exe    1480    RegOpenKey    HKCR\.application    ACCESS DENIED    Desired Access: Query Value
===========================

To provide permission Please use this SubInACL tool
we have to run few commands from command prompt :
C:\Program Files\Windows Resource Kits\Toot
Commands to run:
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=everyone=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=everyone=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=everyone=f
subinacl /subdirectories %SystemDrive% /grant=everyone=f

Please check for more information
http://blogs.msdn.com/astebner/archive/2006/09/04/739820.aspx

Clickonce: <Filename>, has a different computed hash than specified in manifest

Clickonce Log

=============

Following errors were detected during this operation.
* [9/27/2008 4:11:03 PM] System.Deployment.Application.InvalidDeploymentException (HashValidation)
  - File, <Filename>, has a different computed hash than specified in manifest.
  - Source: System.Deployment
  - Stack trace:
   at System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, Hash hash)
   at System.Deployment.Application.ComponentVerifier.VerifyFileHash(String filePath, HashCollection hashCollection)
   at System.Deployment.Application.ComponentVerifier.FileComponent.Verify()
   at System.Deployment.Application.ComponentVerifier.VerifyComponents()
   at System.Deployment.Application.DownloadManager.DownloadDependencies(SubscriptionState subState, AssemblyManifest deployManifest, AssemblyManifest appManifest, Uri sourceUriBase, String targetDirectory, String group, IDownloadNotification notification, DownloadOptions options)
   at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp)
   at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc)
   at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension)
   at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

 

Workaround

===========

This workaround must be applied to all machines that publish this solution or gets this Error)

change %windir%\Microsoft.Net\Framework\v2.0.50727\Microsoft.Common.targets (should
be on or around line 3173, easy way to search is search on PublishOnlyDependsOn):
You should have similar Configuration information, add _CopyManifestFiles

===========================================

<PropertyGroup>
<PublishOnlyDependsOn>
SetGenerateManifests;
PublishBuild;
BeforePublish;
GenerateManifests;
CleanPublishFolder;
_CopyManifestFiles;
_CopyFilesToPublishFolder;
_DeploymentGenerateBootstrapper;
ResolveKeySource;
_DeploymentSignClickOnceDeployment;
AfterPublish
</PublishOnlyDependsOn>
</PropertyGroup>

Clickonce Fails with HRESULT: 0x80070005 (E_ACCESSDENIED))

Activation of http://Contoso/SmartClientLaunch/Project/ProjectEditor.application? resulted in exception. Following failure messages were detected:
+ Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

* That means the ClickOnce deployment framework is not able to either write to file system / registry. Make sure the user has read/write access to

File System : %system drive%\DOCUME~1\<user name>\LOCALS~1\Apps\2.0
Registry      : HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion.

Workaround
==========
To Provide Privilege to file system We could delete the contents of 2.0 and run Mage -cc on the machine if Possible(Mage is command line utility comes with Windows SDK)
If Access denied is because of registry, Delete the Registry
%userprofile%\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat
Reboot the machine should recreate it. However to Delete this file you have to login through different User profile

Store metadata "AppType" is not valid

Workaround
==========

If you have "APPTYPE" In the Registry Key it would Give Error

If you remove that value from Registry location the issue would be fixed

HKCU\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment\SideBySide\2.0\PacakgeMetadata\{2ec93463-b0c3-45e1-8364-327e96aea856}_{3f471841-eef2-47d6-89c0-d028f03a4ad5}\imat..tion_3e64e3b4b5cafdd9_e70ba27c30f97a67\

5. Remove the following registry value:

{2ad613da-6fdb-4671-af9e-18ab2e4df4d8}!AppType

Issue Detail
==============

DFSVC.exe (ClickOnce service) makes a call into System.Deployment.Application.ComponentStore.GetPropertyAppType

appTypeStr in this case is "0" which is a valid string for the number 0.  However, we're getting the following exception:

  System.FormatException
  - Input string was not in a correct format.
  - Source: mscorlib
  - Stack trace:
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseUInt32(String value, NumberStyles options, NumberFormatInfo numfmt)
   at System.UInt16.Parse(String s, NumberStyles style, NumberFormatInfo info)
   at System.Deployment.Application.ComponentStore.GetPropertyAppType(DefinitionAppId appId, String propName)

To figure out it in a better way run this Code on Machine

=============================================

Dim strInput As String = "10"
Dim intResult As Integer = 0
Try
intResult = Convert.ToInt16(strInput)
Catch ex As Exception
MessageBox.Show("Error: " & ex.Message)

===============================================

Please check the Working fix

Unable to install because a newer version of this product is already installed

MSI Log

=================

Action 15:16:33: FindRelatedProducts. Searching for related applications
Action start 15:16:33: FindRelatedProducts.
FindRelatedProducts: Found application: {7F0093FD-CC7D-4464-98FE-CD0EFDF55D97}
MSI (c) (80:DC) [15:16:33:579]: PROPERTY CHANGE: Adding NEWERPRODUCTFOUND property. Its value is '{7F0093FD-CC7D-4464-98FE-CD0EFDF55D97}'.

I (c) (80:DC) [15:16:34:532]: Note: 1: 2262 2: Error 3: -2147287038
DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2835. The arguments are: ErrorIcon, ErrorDialog,
Unable to install because a newer version of this product is already installed.
MSI (s) (78:54) [15:16:35:704]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (78:54) [15:16:35:704]: Product: OrderService -- Unable to install because a newer version of this product is already installed.

Action ended 15:16:35: ERRCA_CANCELNEWERVERSION. Return value 3.

Workaround

If you have created Setup Project through visual studio Please make sure that Visual studio Property

DetectNewerInstalledVersion Property is set to False.

Details

If this property is True(Default Setting),Visual studio changes the Product code with New Build But it keeps the upgrade Code Same.

It would Create Problem if you use the same Setup Project and make changes to it with Saving it as Different Project.

 

 

 

More Posts Next page »
Page view tracker