Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building CEFSharp as clickonce online application (v31.0.0.0) #500

Closed
ghost opened this issue Oct 4, 2014 · 12 comments
Closed

Building CEFSharp as clickonce online application (v31.0.0.0) #500

ghost opened this issue Oct 4, 2014 · 12 comments
Milestone

Comments

@ghost
Copy link

ghost commented Oct 4, 2014

I'm currently trying to build the cefsharp wpf example as a clickonce online only application but keep getting a manifest error. I've checked the version number for the exe and that matches the manifest file (31.0.0.0). I'm now stuck and not sure what else to check?

-I've added a test certificate and signed the manifest with that.
-compiled with vs2013

Here's the clickonce deployment error log:

PLATFORM VERSION INFO
    Windows             : 6.2.9200.0 (Win32NT)
    Common Language Runtime     : 4.0.30319.34014
    System.Deployment.dll       : 4.0.30319.33440 built by: FX45W81RTMREL
    clr.dll             : 4.0.30319.34014 built by: FX45W81RTMGDR
    dfdll.dll           : 4.0.30319.33440 built by: FX45W81RTMREL
    dfshim.dll          : 6.3.9600.16384 (winblue_rtm.130821-1623)

SOURCES
    Deployment url          : http://127.0.0.1/CefSharp.Wpf.Example.application
                        Server      : Apache/2.2.27 (Win32) DAV/2 mod_ssl/2.2.27 OpenSSL/1.0.1g mod_fcgid/2.3.9 mod_wsgi/3.4 Python/2.7.6 PHP/5.5.12 mod_perl/2.0.8 Perl/v5.16.3
    Application url         : http://127.0.0.1/Application%20Files/CefSharp.Wpf.Example_1_0_0_2/CefSharp.Wpf.Example.exe.manifest
                        Server      : Apache/2.2.27 (Win32) DAV/2 mod_ssl/2.2.27 OpenSSL/1.0.1g mod_fcgid/2.3.9 mod_wsgi/3.4 Python/2.7.6 PHP/5.5.12 mod_perl/2.0.8 Perl/v5.16.3

IDENTITIES
    Deployment Identity     : CefSharp.Wpf.Example.application, Version=1.0.0.2, Culture=neutral, PublicKeyToken=25f836ddd2bb8af4, processorArchitecture=x86
    Application Identity        : CefSharp.Wpf.Example.exe, Version=1.0.0.2, Culture=neutral, PublicKeyToken=25f836ddd2bb8af4, processorArchitecture=x86, type=win32

APPLICATION SUMMARY
    * Online only application.

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of http://127.0.0.1/CefSharp.Wpf.Example.application resulted in exception. Following failure messages were detected:
        + Reference in the manifest does not match the identity of the downloaded assembly CefSharp.BrowserSubprocess.exe.

COMPONENT STORE TRANSACTION FAILURE SUMMARY
    No transaction error was detected.

WARNINGS
    There were no warnings during this operation.

OPERATION PROGRESS STATUS
    * [04/10/2014 10:50:48] : Activation of http://127.0.0.1/CefSharp.Wpf.Example.application has started.
    * [04/10/2014 10:50:48] : Processing of deployment manifest has successfully completed.
    * [04/10/2014 10:50:48] : Installation of the application has started.
    * [04/10/2014 10:50:48] : Processing of application manifest has successfully completed.
    * [04/10/2014 10:50:51] : Found compatible runtime version 4.0.30319.
    * [04/10/2014 10:50:51] : Request of trust and detection of platform is complete.

ERROR DETAILS
    Following errors were detected during this operation.
    * [04/10/2014 10:50:51] System.Deployment.Application.InvalidDeploymentException (RefDefValidation)
        - Reference in the manifest does not match the identity of the downloaded assembly CefSharp.BrowserSubprocess.exe.
        - Source: System.Deployment
        - Stack trace:
            at System.Deployment.Application.DownloadManager.ProcessDownloadedFile(Object sender, DownloadEventArgs e)
            at System.Deployment.Application.FileDownloader.DownloadModifiedEventHandler.Invoke(Object sender, DownloadEventArgs e)
            at System.Deployment.Application.SystemNetDownloader.DownloadSingleFile(DownloadQueueItem next)
            at System.Deployment.Application.SystemNetDownloader.DownloadAllFiles()
            at System.Deployment.Application.FileDownloader.Download(SubscriptionState subState)
            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, BrowserSettings browserSettings, String& errorPageUrl)
            at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state)

COMPONENT STORE TRANSACTION DETAILS
    No transaction information is available.

here's a copy of the manifest that is produced:

<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
  <asmv1:assemblyIdentity name="CefSharp.Wpf.Example.exe" version="1.0.0.0" publicKeyToken="25f836ddd2bb8af4" language="neutral" processorArchitecture="amd64" type="win32" />
  <application />
  <entryPoint>
    <assemblyIdentity name="CefSharp.Wpf.Example" version="3.29.0.0" language="neutral" processorArchitecture="amd64" />
    <commandLine file="CefSharp.Wpf.Example.exe" parameters="" />
  </entryPoint>
  <trustInfo>
    <security>
      <applicationRequestMinimum>
        <PermissionSet version="1" class="System.Security.NamedPermissionSet" Name="LocalIntranet" Description="Default rights given to applications on the local intranet" Unrestricted="true" ID="Custom" SameSite="site" />
        <defaultAssemblyRequest permissionSetReference="Custom" />
      </applicationRequestMinimum>
      <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
        <!-- UAC Manifest Options
            If you want to change the Windows User Account Control level replace the 
            requestedExecutionLevel node with one of the following.

        <requestedExecutionLevel  level="asInvoker" uiAccess="false" />
        <requestedExecutionLevel  level="requireAdministrator" uiAccess="false" />
        <requestedExecutionLevel  level="highestAvailable" uiAccess="false" />

            Specifying requestedExecutionLevel node will disable file and registry virtualization.
            If you want to utilize File and Registry Virtualization for backward 
            compatibility then delete the requestedExecutionLevel node.
        -->
        <requestedExecutionLevel level="asInvoker" uiAccess="false" />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentOS>
      <osVersionInfo>
        <os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
      </osVersionInfo>
    </dependentOS>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
      <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.dll" size="28160">
      <assemblyIdentity name="CefSharp" version="31.0.0.0" publicKeyToken="40C4B6FC221F4138" language="neutral" processorArchitecture="amd64" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>jIznWa6x+Ad4T44TUUK6h0Kuv/I=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.BrowserSubprocess.exe" size="5632">
      <assemblyIdentity name="CefSharp.BrowserSubprocess" version="31.0.0.0" publicKeyToken="40C4B6FC221F4138" language="neutral" processorArchitecture="msil" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>tfwEQjp2PJKJyeE4OOTVpcd2RhQ=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.Core.dll" size="1429504">
      <assemblyIdentity name="CefSharp.Core" version="31.0.0.0" publicKeyToken="40C4B6FC221F4138" language="neutral" processorArchitecture="amd64" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>EdI5sgl/732Jj5WUkH5xwqYBgdE=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.Example.dll" size="386048">
      <assemblyIdentity name="CefSharp.Example" version="31.0.0.0" language="neutral" processorArchitecture="amd64" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>hSDyXJUJUCdk/5JHIoAKQIPNysQ=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.Wpf.dll" size="29696">
      <assemblyIdentity name="CefSharp.Wpf" version="31.0.0.0" publicKeyToken="40C4B6FC221F4138" language="neutral" processorArchitecture="amd64" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>0BJoDezhMUk2IzUkjA1IwpWs8qQ=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="CefSharp.Wpf.Example.exe" size="26624">
      <assemblyIdentity name="CefSharp.Wpf.Example" version="3.29.0.0" language="neutral" processorArchitecture="amd64" />
      <hash>
        <dsig:Transforms>
          <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
        </dsig:Transforms>
        <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <dsig:DigestValue>r6PIG3Xy2MBgVE8fXsU0gI1Mhx8=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>
  <file name="CefSharp.Wpf.Example.exe.config" size="141">
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <dsig:DigestValue>dZFxrC6iVI5YGbM5q/fROBzin+s=</dsig:DigestValue>
    </hash>
  </file>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!-- A list of all Windows versions that this application is designed to work with. 
      Windows will automatically select the most compatible environment.-->
      <!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>-->
      <!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
      <!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>-->
      <!-- If your application is designed to work with Windows 8.1, uncomment the following supportedOS node-->
      <!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>-->
    </application>
  </compatibility>
<publisherIdentity name="CN=DELLBOOK\Jonathan" issuerKeyHash="e8603751708cd5611b407f10cf43fa3fb29c3d68" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>OG7tSzli/IgMxh4RVjv/0srAISM=</DigestValue></Reference></SignedInfo><SignatureValue>EYK9qG9qBBK4imU6pk7/jMv8NH18dHXyDIKYijaWWwosh0lYmLfXYXQrwIHINK6vVKE7tlV1C8jaa7V6TO1n0LP0OF1MDCwETY26RdpayWYcBMQBjSUKc+b/1JYQhD3q9WENZaMijmu4ibIK0YmHTrsUYYcLIGLI7dxB6MKF1MY=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>oMpjEd1lWYd1B+Pz9FnRyg45vXxIK7EuvU+lBllVFB7Dnvc5EpneTe1eOEpMa2kScMjFZvIufLLJrvufWzbEQctBk3FwcUwPsHJVcEFarF6MZ4QM4cjWskdRXOgbpFU3Oy7a0h//pijbN66HVKqUBlAM6llY3rl4rXHxUOfjUS0=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="2321c0cad2ff3b56111ec60c88fc62394bed6e38" Description="" Url=""><as:assemblyIdentity name="CefSharp.Wpf.Example.exe" version="1.0.0.0" publicKeyToken="25f836ddd2bb8af4" language="neutral" processorArchitecture="amd64" type="win32" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=DELLBOOK\Jonathan</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /><DigestValue>SBctZbyYnMPYc8oix4dSVTRTUJg=</DigestValue></Reference></SignedInfo><SignatureValue>GfY8rH+FJHTL0+6jET2IUf8j1mVc7riz2jGNpL8o4eEVTJgQCG3YLXuRVwEDJc/6V6KGfh90MLj97A6DYn6/mTSsGHMjzZyHhccaG8kbB9x8N6sfVdZQ9xigjgzkZ9lXQ/LXhOlVGHgRCxpAE8AXvS5pXzpQdOcSrQibTn5IpLk=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>oMpjEd1lWYd1B+Pz9FnRyg45vXxIK7EuvU+lBllVFB7Dnvc5EpneTe1eOEpMa2kScMjFZvIufLLJrvufWzbEQctBk3FwcUwPsHJVcEFarF6MZ4QM4cjWskdRXOgbpFU3Oy7a0h//pijbN66HVKqUBlAM6llY3rl4rXHxUOfjUS0=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB3TCCAUagAwIBAgIQUBXBiOMAqqRBPeC/j5YDiDANBgkqhkiG9w0BAQUFADAtMSswKQYDVQQDHiIARABFAEwATABCAE8ATwBLAFwASgBvAG4AYQB0AGgAYQBuMB4XDTE0MTAwNDA3MDQyOFoXDTE1MTAwNDEzMDQyOFowLTErMCkGA1UEAx4iAEQARQBMAEwAQgBPAE8ASwBcAEoAbwBuAGEAdABoAGEAbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAoMpjEd1lWYd1B+Pz9FnRyg45vXxIK7EuvU+lBllVFB7Dnvc5EpneTe1eOEpMa2kScMjFZvIufLLJrvufWzbEQctBk3FwcUwPsHJVcEFarF6MZ4QM4cjWskdRXOgbpFU3Oy7a0h//pijbN66HVKqUBlAM6llY3rl4rXHxUOfjUS0CAwEAATANBgkqhkiG9w0BAQUFAAOBgQAZNjrfN6WGY8NRoqCJID4U/yFTlU5bfv8uVhPc5mmIujyHRSYbKmYHf9pXTFQNz0f/QRXigksfKyalan+hmCQrkkAOahTnP/JrR9D+RIFyHi6Anvy5LaRUtOci8nSj2K09OpAfpI8AEJ/COvTCwCYmxMk+WGcCNztnly3BlNpGjQ==</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

@jornh
Copy link
Contributor

jornh commented Oct 4, 2014

Packing and deploying via ClickOnce is currently not at an ideal state. There are a couple of hoops you have to jump manually.

Best help we can offer right now is in #392 - specifically #392 (comment)

@jornh jornh added this to the 33.0.1 milestone Oct 4, 2014
@ghost
Copy link
Author

ghost commented Oct 4, 2014

thanks @jornh however I'm not sure the issue here is that the files aren't being copied to the publish folder. It seems more that presentationHost.exe/clickonce is complaining that the cefsharp.subprocess.exe is not the same as the reference in the manifest and prevents downloading it into the clickonce cache from the browser. All files seem to be published into the "Application Files" directory.

Having also just tried an offline /cd version too I'm getting the same error...are the cefsharp binaries being copied to the publish folder after the manifest has been created? is this possible?

Many thanks :)

@peters
Copy link
Contributor

peters commented Oct 4, 2014

@JonRowley Screw clickonce, use Squirrel.Windows. Going to save you a lot of pain!

@jornh
Copy link
Contributor

jornh commented Oct 4, 2014

CefSharp currently relies on some unmanaged .dll's and other resource files (from the CEF project). I don't see mention of those in your manifest above. It might be due to that we currently don't add them as dependencies, they're just copied over via .targets property files in the build\ folders of the different nuget packages. With a bit of luck adding them manually to your CefSharp.Wpf.Example might be what's missing.

We're slowly working on improving all this to get closer to the middle of the road. But we have a wee bit tougher job than the average pure C# project where ClickOnce (mostly) works. Unfortunately ClickOnce and it's magic sits on top of all that, so it will be the last box we can tick.

If you need it to be ClickOnce, and can't follow @peters suggestion which looks interesting (:+1: Peter) I guess you need to experiment a bit. I guess that's why people until now have either given up or resorted to the manual steps that's documented on SO for CefSharp1 at least. Search our Google Group, Issues here on GitHub and SO for a bit of context.

@jornh
Copy link
Contributor

jornh commented Oct 4, 2014

I got a ClickOnce deployment running, here's a diff of what changed in my CefSharp.MinimaiExample.Wpf.csproj:

--- C:/Users/jornh/AppData/Local/Temp/JYD9Bd_CefSharp.MinimalExample.Wpf.csproj lø okt  4 22:22:43 2014
+++ CefSharp.MinimalExample.Wpf/CefSharp.MinimalExample.Wpf.csproj  lø okt  4 22:19:43 2014
@@ -18,6 +18,22 @@
     <TargetFrameworkProfile />
     <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
     <RestorePackages>true</RestorePackages>
+    <IsWebBootstrapper>false</IsWebBootstrapper>
+    <PublishUrl>publish\</PublishUrl>
+    <Install>true</Install>
+    <InstallFrom>Disk</InstallFrom>
+    <UpdateEnabled>false</UpdateEnabled>
+    <UpdateMode>Foreground</UpdateMode>
+    <UpdateInterval>7</UpdateInterval>
+    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
+    <UpdatePeriodically>false</UpdatePeriodically>
+    <UpdateRequired>false</UpdateRequired>
+    <MapFileExtensions>true</MapFileExtensions>
+    <ApplicationRevision>6</ApplicationRevision>
+    <ApplicationVersion>1.0.0.%2a</ApplicationVersion>
+    <UseApplicationTrust>false</UseApplicationTrust>
+    <PublishWizardCompleted>true</PublishWizardCompleted>
+    <BootstrapperEnabled>true</BootstrapperEnabled>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
     <DebugSymbols>true</DebugSymbols>
@@ -58,6 +74,18 @@
   <PropertyGroup>
     <ApplicationIcon>chromium-256.ico</ApplicationIcon>
   </PropertyGroup>
+  <PropertyGroup>
+    <ManifestCertificateThumbprint>7B822D63F1B82B8DE2491364A88EFFDDB455280F</ManifestCertificateThumbprint>
+  </PropertyGroup>
+  <PropertyGroup>
+    <ManifestKeyFile>CefSharp.MinimalExample.Wpf_TemporaryKey.pfx</ManifestKeyFile>
+  </PropertyGroup>
+  <PropertyGroup>
+    <GenerateManifests>true</GenerateManifests>
+  </PropertyGroup>
+  <PropertyGroup>
+    <SignManifests>true</SignManifests>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="System" />
     <Reference Include="System.Data" />
@@ -118,6 +146,13 @@
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <None Include="CefSharp.MinimalExample.Wpf_TemporaryKey.pfx" />
+    <Content Include="cef.pak">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+    <Content Include="locales\en-US.pak">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <None Include="packages.config" />
     <None Include="Properties\Settings.settings">
       <Generator>SettingsSingleFileGenerator</Generator>
@@ -131,19 +166,52 @@
   <ItemGroup>
     <Resource Include="chromium-256.ico" />
   </ItemGroup>
+  <ItemGroup>
+    <BootstrapperPackage Include=".NETFramework,Version=v4.0">
+      <Visible>False</Visible>
+      <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
+      <Visible>False</Visible>
+      <ProductName>.NET Framework 3.5 SP1</ProductName>
+      <Install>false</Install>
+    </BootstrapperPackage>
+    <BootstrapperPackage Include="Microsoft.Windows.Installer.4.5">
+      <Visible>False</Visible>
+      <ProductName>Windows Installer 4.5</ProductName>
+      <Install>true</Install>
+    </BootstrapperPackage>
+  </ItemGroup>
+  <ItemGroup>
+    <Content Include="CefSharp.BrowserSubprocess.exe" />
+    <Content Include="d3dcompiler_43.dll" />
+    <Content Include="d3dcompiler_46.dll" />
+    <Content Include="ffmpegsumo.dll" />
+    <Content Include="icudt.dll" />
+    <Content Include="libcef.dll" />
+    <Content Include="libEGL.dll" />
+    <Content Include="libGLESv2.dll" />
+  </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">

All i did was basically to Add -> Existing Item... and add the resources (from either x64 or x86 bin etc. depending on what you build. I used x64/Release), then set up a simple local CD deploy as you did. The most tricky ones were the two .pak files. They need a Build Action = Content property.

I used cefsharp/CefSharp.MinimalExample#10 as my starting point.

@ghost
Copy link
Author

ghost commented Oct 5, 2014

@peters wish I could use squirrel! 👍 @jornh thanks for the info I'll have a play and see what I can come up with. Also had a look at the https://github.com/Code52/DownmarkerWPF as they use clickOnce too. Thanks for your help! :)

@ghost ghost closed this as completed Oct 5, 2014
@ghost ghost reopened this Oct 5, 2014
@jornh
Copy link
Contributor

jornh commented Oct 22, 2014

@JonRowley did you get to a useable ClickOnce?

I can push what I quickly whipped together if it helps...

@ghost
Copy link
Author

ghost commented Oct 24, 2014

Hi, sorry for the delay in replying. I moved away from this project and didn't get time to test again so I can't confirm or deny its working, however I've seen a couple of projects with it working and your solution seemed to work so I'd be happy to close this as complete if you are happy with your changes. Thanks

On 22 Oct 2014, at 05:48, jornh [email protected] wrote:

@JonRowley did you get to a useable ClickOnce?

I can push what I quickly whipped together if it helps...


Reply to this email directly or view it on GitHub.

@jornh jornh modified the milestones: 33.0.2, xx.0.3 Oct 24, 2014
@amaitland amaitland modified the milestones: xx.0.3, 37.0.0 Nov 11, 2014
@jornh jornh modified the milestones: 3000, 37.0.0 Nov 19, 2014
@amaitland
Copy link
Member

Closing. Reopen if required.

@shanehaw
Copy link

shanehaw commented Sep 7, 2015

One note about the above, having just gone through this myself: Ensure that CefSharp.BrowserSubprocess.exe is added to the project through project -> Add -> Existing Item with the Build Action = Content as jornh said above, and not by adding it as a reference. If it is added as a reference it will still give the error JonRowley describes above.

@amaitland
Copy link
Member

If anyone feels like creating a wiki entry that would be much appreciated. I'm sure others would benefit and we can finally close #392

For reference anyone can add/edit a page on the wiki

@vromanenkoACR
Copy link

if anyone else has this problem, this script was the solution for me https://github.com/Code52/DownmarkerWPF/blob/master/tools/UpdateManifest.ps1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants