cefsharp / CefSharp

.NET (WPF and Windows Forms) bindings for the Chromium Embedded Framework
http://cefsharp.github.io/
Other
9.87k stars 2.92k forks source link

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

Closed ghost closed 9 years ago

ghost commented 10 years ago

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 commented 10 years ago

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 https://github.com/cefsharp/CefSharp/issues/392#issuecomment-46672183

ghost commented 10 years ago

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 commented 10 years ago

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

jornh commented 10 years ago

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 commented 10 years ago

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 https://github.com/cefsharp/CefSharp.MinimalExample/pull/10 as my starting point.

ghost commented 10 years ago

@peters wish I could use squirrel! :+1: @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! :)

jornh commented 10 years ago

@JonRowley did you get to a useable ClickOnce?

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

ghost commented 10 years ago

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 notifications@github.com 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.

amaitland commented 9 years ago

Closing. Reopen if required.

shanehaw commented 9 years ago

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 commented 9 years ago

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 commented 2 years ago

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