Cefsharp setup prerequisites - winforms

I need to redistribute Winforms application that uses CefSharp browser.
I read a few post regarding the subject but I didn't found what i l was looking for. I am using Visual studio installer setup wizard.
When i go to prerequisites in setup properties i get this list of prerequisites:
So my question is:
Which of these should I check?
Thanks.

CefSharp requires the Microsoft VC++ Runtime, as listed in their FAQ page:
+------------------+--------------+--------------+
| CefSharp Version | VC++ Version | .Net Version |
+------------------+--------------+--------------+
| 64.0.0 and above | 2015 | 4.5.2 |
| 51.0.0 to 63.0.0 | 2013 | 4.5.2 |
| 45.0.0 to 49.0.0 | 2013 | 4.0.0 |
| 43.0.0 and below | 2012 | 4.0.0 |
+------------------+--------------+--------------+
So, you should check the appropriate version of the .Net Framework. Also you should check or distribute the correct version of the Microsoft VC++ Runtime, or else you see errors similar to:
System.IO.FileNotFoundException: Could not load file or assembly
'CefSharp.Core.dll' or one of its dependencies
The FAQ page describes a few ways to incorporate the Microsoft VC++ Runtime into your distribution.

Related

What is the package name of Gnome Web / Epiphany?

I want to install Gnome web using command line on Ubuntu Deskop 1804. I cannot use software center. Using apt not snap.
Unfortunately Ubuntu software center does not display package names. Only version information.
I tried apt install epiphany, gnome-web-browser without result.
What is the package name of Gnome Web / Epiphany? This seems to be a carefully guarded secret.
The package name is epiphany-browser.
[onknows:~/git/tpelcm/ansible] master(+12/-7)* ± sudo apt-cache madison epiphany-browser
epiphany-browser | 3.28.6-0ubuntu1 | http://nl.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages
epiphany-browser | 3.28.1-1ubuntu1 | http://nl.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages

Go vendoring on App Engine Standard

I know this topic has been referenced a few times already. Unfortunately I still wasn't able to find a working solution for my use case.
I can't seem to get vendoring working for my Go application on App Engine Standard. I'm using dep for vendoring.
I'm building a GraphQL API and here is my folder structure:
/GOPATH
└──/src
└──/acme
├──/app
| ├── app.yaml
| └── app.go
├──/src
| ├── /mutations/
| ├── /queries/
| └── /types/
└──/vendor/
Running goapp serve app/app.yaml on Cloud Shell fails with
INFO 2018-05-14 15:42:08,386 devappserver2.py:764] Skipping SDK update check.
INFO 2018-05-14 15:42:08,471 api_server.py:268] Starting API server at: http://0.0.0.0:47213
INFO 2018-05-14 15:42:08,600 dispatcher.py:199] Starting module "default" running at: http://0.0.0.0:8080
INFO 2018-05-14 15:42:08,601 admin_server.py:116] Starting admin server at: http://0.0.0.0:8000
ERROR 2018-05-14 15:42:13,983 go_runtime.py:181] Failed to build Go application: (Executed command: /google/go_appengine/goroot/bin/go-app-builder -app_base /home/xxx/gopath/src/acme/app -arch 6 -dynamic -goroot /google/go_appengine/goroot -gopath /home/xxx/gopath:/google/gopath -nobuild_files ^^$ -incremental_rebuild -unsafe -binary_name _go_app -extra_imports appengine_internal/init -work_dir /tmp/tmpbt8DA2appengine-go-bin -gcflags -I,/google/go_appengine/goroot/pkg/linux_amd64_appengine -ldflags -L,/google/go_appengine/goroot/pkg/linux_amd64_appengine app.go)
/home/xxx/gopath/src/acme/vendor/github.com/graphql-go/graphql/definition.go:4: can't find import: "context"
2018/05/14 15:42:09 Can't find package "context" in $GOPATH: cannot find package "context" in any of:
/home/xxx/gopath/src/acme/vendor/context (vendor tree)
/google/go_appengine/goroot/src/context (from $GOROOT)
/home/xxx/gopath/src/context (from $GOPATH)
/google/gopath/src/context
Looks like the problem might be that one vendor is not using a full dependency name for "context".
(EDIT: probably not the case though since I’m using 1.8)
Has anyone ever managed to successfully deploy on App Engine Standard using vendoring? Been pulling my hair all day on this.
Just in case anyone else struggles with this, this is the approach I've taken that seems to work for me.
Directory structure looks like this:
/GOPATH
├──/appengine
| ├──/.git/
| ├──/project1
| | ├── app.yaml
| | └── app.go
| └──/project2
| ├── app.yaml
| └── app.go
└──/src
├──/project1
| ├──/.git/
| ├──/mutations/
| ├──/queries/
| ├──/types/
| ├──/vendor/
| └──/main.go
└──/project2
├──/.git/
├──/foo/
├──/bar/
├──/vendor/
└──/main.go
Each app.go file below the appengine folder contains:
package projectX
import "projectX"
func init() {
projectX.Run()
}
Each main.go file below src/projectX contains:
package projectX
import (
// Import whatever you need
"google.golang.org/appengine"
)
func Run() {
// Do whatever you need
appengine.Main()
}
Seems that having the folder that contains app.yaml outside of $GOPATH/src is indeed necessary.
This is also not ideal for version control if you need to have each project versioned under their own git repo as opposed to having one monolyth repo. I solved this by versioning each project AND versioning the appengine folder as well separately.
I was having issues with, spent ages looking around trying to figure out why it wasn't working. This answer is a little late but hopefully will be useful for anyone else who has this issue.
I updated to use Go 1.11 which I thought wasn't supported (found one of the GCP examples on github using it here)
Set runtime: go111 in app.yaml and it will support vendoring and give you a link to a proper build log.
Now my directory structure is as follows.
/GOPATH
└──/src
├──/project1
| ├──/.git/
| ├──/whateverCode/
| ├──/vendor/
| └──/main.go
| └──/app.yaml
I assume if it supports Go 1.11 we could also use Modules for versioning but I haven't looked into that yet.
The context package will be inside $GOROOT ( not in vendor directory ). Probably your Go Appengine SDK is old and does not support Go 1.8.
Update your SDK to the latest version. The $GOROOT should be like /path/to/somewhere/goroot-1.8

semantic versioning, bug-fix-releases of previous versions and precedence in tree structure

We use semantic versioning. Suppose we have some software release with a version number of e.g. 2.1.1. Because of an API change the next release has version number 3.0.0. Now let us suppose that a bug is found which occurs both in version 2.1.1 and version 3.0.0. Since some customers still use 2.1.1 and we do not want to force them to upgrade to a version 3.0.1 or later we provide a maintainance (bug fix) release for version 2.1.1. A straight forward version number for this release could be 2.1.2. Though no such example is given in the defintion of precedence I would conclude that the rules imply 2.1.2 < 3.0.0 - meaning what? Version 2.1.2 was released after 3.0.0 and version 3.0.0 does not include all bug fixes of 2.1.2. Actually these two versions are not really orderable, the versions (and the corresponding source revisions) now have a tree structure:
|
2.1.1 (1)
|\
| \
| 2.1.2 (3)
|
3.0.0 (2)
|
To reflect that tree structure and avoid confusion I would prefer a version number scheme like the following:
|
2.1.1 (1)
|\
| \
| 2.1.1+m (3)
|
3.0.0 (2)
|
(+m for maintainance release). According to the definition of precedence in semantic versioning this would still imply 2.1.1+m < 3.0.0, but for our customers we could add a rule that for x1.y1.z1 < x2.y2.z2 any version x1.y1.z1+m* is not comparable to x2.y2.z2 (but x1.y1.z1 < x2.y2.z2+m* still holds).
Are there any best practices for versioning a tree structure? Or did I get something wrong about semantic versioning?
No, you should not assume any release date ordering from semver precedence relations such as 2.1.2 < 3.0.0. All you can determine is that there probably have been be breaking changes between them.
If you want build date information, that would be reasonable to include in the build metadata, but that metadata has absolutely nothing to do with the semver concept of precedence. However a human might reasonably conclude that version 2.1.2+201706010005 was probably built after 3.0.0+201603151112.

Installing datashader from bokeh channel

The question is simple: How do I install the datashader package?
The problem however might be a bit more complicated. I already tried several things and ended up with not finding the datashader package. I ran the following commands in my anaconda prompt:
[Anaconda2] C:\Users\Vuk>anaconda search -t conda datashade
Run 'anaconda show <USER/PACKAGE>' to get more details:
Packages:
Name | Version | Package Types | Platforms
------------------------- | ------ | --------------- | ---------------
ahmadia/datashader | 0.1.0 | conda | linux-64, osx-64
bokeh/datashader | 0.1.0 | conda | linux-64, osx-64
Found 2 packages
[Anaconda2] C:\Users\Vuk>anaconda show bokeh/datashader
Name: datashader
Summary:
Access: public
Package Types: conda
Versions:
+ 0.1.0
To install this package with conda run:
conda install --channel https://conda.anaconda.org/bokeh datashader
[Anaconda2] C:\Users\Vuk>conda install --channel https://conda.anaconda.org/bokeh datashader
Fetching package metadata: ........
Error: No packages found in current win-64 channels matching: datashader
Did you mean one of these?
datashape
You can search for this package on anaconda.org with
anaconda search -t conda datashader
As you can see, in first instance it says the package is there, but when I try to install it, it can't find it anymore.
Do you know what the problem could be?
We're building Windows packages now, and will let you know when they are ready! The existing packages are for other platforms.

Glide/Gaelyk/Groovy: Error deploying to Google App Engine: Missing web.xml (No such file or directory)

The Glide Google App Engine (https://github.com/kdabir/glide) project looks like a great way to get simple Groovy scripts hosted and running on the web.
However, after following the instructions on http://glide-gae.appspot.com/docs/intro I get errors when trying to deploy to the GAE server.
I set the __glide.groovy up as in the ‘2 minutes to deploy’. However as soon as I run "glide deploy" I get the following error…
___ _ _ _
/ __|| |(_) __| | ___
| (_ || || |/ _` |/ -_)
\___||_||_|\__,_|\___|
version : 0.3-SNAPSHOT
build : 28.01.14 22:51:08
[sync] Copying 4 files to /software/glide/install/generated/app-name
Exception in thread "main" java.io.FileNotFoundException:/software/glide/install/generated/app-name/app/WEB-INF/web.xml
(No such file or directory)
Software Versions Used:
Glide:
version : 0.3-SNAPSHOT
build : 17.01.14 17:02:02
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Groovy Version: 2.2.1 JVM: 1.7.0_51 Vendor: Oracle Corporation OS: Mac OS X
Gradle 1.10
------------------------------------------------------------
Build time: 2013-12-17 09:28:15 UTC
Build number: none
Revision: 36ced393628875ff15575fa03d16c1349ffe8bb6
Groovy: 1.8.6
Ant: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
Ivy: 2.2.0
JVM: 1.7.0_51 (Oracle Corporation 24.51-b03)
OS: Mac OS X 10.9.1 x86_64
What can I change to deploy this app?
If you look in the /software/glide/install/generated directory there are two subdirectories. app-name_0 which was generated by running the glide command in the first part of the docs ( http://glide-gae.appspot.com/docs/intro) and the directory app-name_version which was created after running the "glide deploy". This 2nd directory does not have the app and build subdirectories in.
If you copy the app and build subdirectories from app-name_0 to app-name_version (app-name and version being specified in the __glide.groovy) then you are a step further. This solves the "Missing web.xml (No such file or directory)" problem
In order to complete the tutorial at http://glide-gae.appspot.com/docs/intro you may also need this answer for an an alternative way to set your GAE upload credentials.

Resources