locked
System Update Required RRS feed

  • Question

  • Hello All,

    I published my application using MSBuild which builds and publish the application.  However when I tried to connect to the application from a client machine it errors out on the  System Update Screen.  The error messag was "This application requires your system to be updated to Microsoft.Practices.Enterprise.Logging Version 1.1.0.0"  The dll is in the publish directory on the server.  Any idea why this is happening?

    Thanks.
    Monday, August 8, 2005 2:11 PM

Answers

  • The 'System Update Required' dialog is ClickOnce telling you that it can not find a prerequisite in the GAC.  Version 1.1 usually indicates a .NET FX version 1.1 assembly.  Does the client machine have the .NET FX version 1.1?

    There are two ways to deploy your references with your ClickOnce application.

    1. Deploy the referenced dll along side the main exe.  When a dll is referenced by a windows form project and copy local = true, VS will choose this option by default.  In the application manifest, the reference will be listed as below.  A word of warning, you should verify that your eula is not being broken by deploying the dll. 

    <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ReferenceTest.dll" size="123">
            <assemblyIdentity name="ReferenceTest" version="1.2.3.4" language="neutral" processorArchitecture="msil" />
            <hash>
                ...
            </hash>
        </dependentAssembly> 
    </dependency>

    2. Deploy the reference as a prerequisite.  When a dll is referenced by a windows form project and copy local = false, VS will choose this option by default. This means the refenced dll must be present in the GAC of the client machine before ClickOnce will allow the application to be deployed.  This will look like the following xml in the application manifest.

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
          <assemblyIdentity name="MyGACedDll" version="1.2.3.4" publicKeyToken="..." language="neutral" processorArchitecture="msil" />
        </dependentAssembly>
      </dependency>

    In VS, how a refenced dll is deployed may be changed from the Application Files dialog.  This dialog is found by opening the Publish Property Page and clicking the button labeled 'Application Files...'

     

    Hope this helps,
    -Elizabeth Maher
    VB TEAM

     

    Tuesday, August 30, 2005 11:05 PM

All replies

  • Hi - I just moved this thread to the right place so that the ClickOnce team can see it.

    Faisal Mohamood
    Tuesday, August 16, 2005 12:41 AM
    Moderator
  • The 'System Update Required' dialog is ClickOnce telling you that it can not find a prerequisite in the GAC.  Version 1.1 usually indicates a .NET FX version 1.1 assembly.  Does the client machine have the .NET FX version 1.1?

    There are two ways to deploy your references with your ClickOnce application.

    1. Deploy the referenced dll along side the main exe.  When a dll is referenced by a windows form project and copy local = true, VS will choose this option by default.  In the application manifest, the reference will be listed as below.  A word of warning, you should verify that your eula is not being broken by deploying the dll. 

    <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="ReferenceTest.dll" size="123">
            <assemblyIdentity name="ReferenceTest" version="1.2.3.4" language="neutral" processorArchitecture="msil" />
            <hash>
                ...
            </hash>
        </dependentAssembly> 
    </dependency>

    2. Deploy the reference as a prerequisite.  When a dll is referenced by a windows form project and copy local = false, VS will choose this option by default. This means the refenced dll must be present in the GAC of the client machine before ClickOnce will allow the application to be deployed.  This will look like the following xml in the application manifest.

    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
          <assemblyIdentity name="MyGACedDll" version="1.2.3.4" publicKeyToken="..." language="neutral" processorArchitecture="msil" />
        </dependentAssembly>
      </dependency>

    In VS, how a refenced dll is deployed may be changed from the Application Files dialog.  This dialog is found by opening the Publish Property Page and clicking the button labeled 'Application Files...'

     

    Hope this helps,
    -Elizabeth Maher
    VB TEAM

     

    Tuesday, August 30, 2005 11:05 PM