ClickOnce shortcut doesn't start application - wpf

I have created a WPF application in VS 2017 that installs with ClickOnce. After deploying the solution to a network location, I am able to install on my 64-bit Windows 10 computer by visiting the .application link.
However, the application does not run on my machine after it is installed. When I attempt to use the .appref-ms shortcut from the Start menu, nothing happens. I have added code to launch a debugger when the application starts, but it doesn't get hit. I see nothing getting logged in the clickonce log when running the application from here. I have set the logging to Verbose in the registry.
If I attempt to run the application from the %userprofile%\AppData\Local\Apps\2.0\ install location, it runs fine and launches the debugger. However, I can't use this location because it will then use the config file from this location rather than the config stored in %userprofile%\AppData\Local\, which allows new versions to continue using the same configuration. It's also inconvenient for users.
If I go back to the .application link on the server, I am able to install new versions when they are deployed, but it still does not launch the application or log any issues with running the application.
The .appref-ms looks like this, and Launcher.manifest does exist in the install location, along with the file listed in the manifest:
file://192.168.10.11/Projects/Launcher.application#Launcher.application, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil
How do I track down the problem with my ClickOnce shortcut?
Edit: Someone mentioned looking in the Event Viewer, and I found a SecurityException, which only occurs when running from the shortcut. Debugger.Launch() is the first line in the MainWindow Constructor on the partial class, but it is not getting hit. Here is the exception from Event Viewer:
Application: applaunch.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Security.SecurityException
at System.Security.CodeAccessSecurityEngine.Check(System.Object, System.Threading.StackCrawlMark ByRef, Boolean)
at System.Security.CodeAccessPermission.Demand()
at MS.Internal.SecurityHelper.DemandUnmanagedCode()
at System.Windows.Window..ctor()
at Launcher.MainWindow..ctor()

This helps in my case (had the same problem):
Project -> Properties
Security: Change from partial trust to full trust
Changes marked yellow:

Related

How to configure PDFNet for .NET application to publish to Citrix server? (AnyCPU)

So I have been trying to config the project to make it work on our server via Citrix.
I used this line of code to set the path:
private static pdftron.PDFNetLoader loader = pdftron.PDFNetLoader.Instance().Path(String.Format(#"{0}\{1}",
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(IndexUIZoom)).Location), #"PDFNet"));
I got this error every time (bin is where the .exe file is):
INFO Program [(null)] - Path: [bin]\PDFNet -
ERROR Program [(null)] - System.IO.FileNotFoundException: Could not load file or assembly 'PDFNet.dll' or one of its dependencies.
The specified module could not be found. File name: 'PDFNet.dll'
Everything works fine on local machine. I got the error above whenever I run from Citrix, or log into the server machine and run from there.
Most likely your server is missing the MS VC++ Runtime dependencies. Developer machines usually have them installed as part of a Visual Studio installation, but servers often do not. You can download MS VC++ installers from MSDN.
To find the exact one you need to download please see section 3.2.1 of the Getting Started Guide for PDFNet .Net below. Note you need to also match the runtime 32 or 64 bitness of your process, for both PDFNet.dll and the MS VC++ runtime.
PDFNet .Net 4.0+ Getting Started Guide
PDFNet .Net 2.0-3.5 Getting Started Guide
https://www.pdftron.com/documentation/windows/guides

KNIME Command Line Execution - ClassNotFoundException

I'd like to schedule a KNIME workflow. The workflow does its job very good as long as I start it from the KNIME GUI application. When I execute the same workflow via command line, java complains that com.microsoft.sqlserver.jdbc.SQLServerDriver
could not be found (ClassNotFoundException).
I invoke it via:
"D:\Progamme\KNIME\knime.exe" -nosplash -application -consoleLog org.knime.product.KNIME_BATCH_APPLICATION -preferences="absolutepathto\preferences.epf" -workflowDir="absolutepathto\workflow"
Since the error message signals missing content in the java CLASSPATH I also tried to add the parameters
-vmargs -classpath .;"absolutepathto/sqljdbc42.jar"
But still I earn a java slap, pointing to the same error...
I also tried to run the command from within the knime.exe's directory and I also tried to add the JAR file to Preferences -> Java -> Build Path -> Classpath Variable / User Libraries (referenced via the -preference argument). But that had no effect.
Did anybody face the same problems? Maybe with other third party JARs?
It is all about a Database connector that is configured like this:
Does the integrated security maybe force a misleading error?
System spec: KNIME 3.2.2 on Windows Server 2008 R2
Update - extract from preferences file
/configuration/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
/configuration/org.eclipse.ui.ide/MAX_RECENT_WORKSPACES=10
/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES=<list of some workspaces>
/configuration/org.eclipse.ui.ide/RECENT_WORKSPACES_PROTOCOL=3
/configuration/org.eclipse.ui.ide/SHOW_RECENT_WORKSPACES=false
/configuration/org.eclipse.ui.ide/SHOW_WORKSPACE_SELECTION_DIALOG=true
Is there maybe a problem due to the fact that it is a shared KNIME instance among several users and the command line execution does not know which workspace has to be chosen? Is the workspace somehow needed and why?
Partial Solution:
I finally managed it but I don't know exactly why it works now. What I did was to load a fresh portable version of KNIME and ran the same commands only changing the executable path to the new portable version. Before that I started the portable version once to set the workspace directory and register the database driver in preferences dialog and .ini file, nothing else, same configuration so far as the shared KNIME instance. What I am really wondering abpout is that from now on the commands are also working with the shared KNIME instance. I really don't know what caused the change that let KNIME find the driver class.
Info
Because I encountered a few more problems within shared environment in KNIME command line mode, that led to undeterministic execution results, I wrote a little .NET library. This gives me more flexibility/control over the workflow execution (which returncodes and error messages occured and so on). You can find it here if you're interested: KnimeNet
I took a very minimal approach:
cd "C:\Program Files\KNIME"
.\knime -nosplash -noexit -consoleLog -reset -application org.knime.product.KNIME_BATCH_APPLICATION -workflowFile="D:\Work\Knime Workflows\Output\CMD_Test.knwf" -preferences="D:\Work\Knime Workflows\Output\CMD_Test.epf"

Javascript error on new install of 7.0.1.0.2

I've had a good look around and can't see anyone else with the same issue.
I've downloaded the latest install for DNN (via this page https://dotnetnuke.codeplex.com/relea...) and tried to run it as a new install (via visual studio development web server) but the site crashes on the second page of the wizard, I get a javascript error "Invalid character" in the jquery library and nothing happens are that.
Using the VS javascript debugger I can see in the call stack that the error seems to stem from some javascript used to update the progress bar found on the installation page, the line in question is...
var result = jQuery.parseJSON(status);
If I let the code run from here I get a further error of "Unable to get property 'progress' of undefined or null reference" in the same block of javascript code a few lines down...
if (result.progress < $("#progressbar").progressbar('value')) return;
Details of my installation;
Running on Windows 7 64 bit (have also tried a Windows 7 32 bit but get same error).
Using VS 2010
Installing to new (blank) database on MS SQL server 2008
Using a SQL user for authentication
Have tried the suggestion of "unblocking" the zip file before downloading
Given the NETWORKSERVICE user full control over the DNN website folder
I've tried the installation with IE 10 & the latest version of Chrome (30.0.1)
In addition to trying to run the installation using the wizard I also found that you can disable the wizard via this web.config setting;
Running with this I am able to successfully install DNN but when redirecting from the basic wizard page to the DNN site I get an object not set to an instance of an object error on this line...
if (PortalSettings.ActiveTab.PageHeadText != Null.NullString && !Globals.IsAdminControl())
... of the default.aspx code behind
I had a play with DNN 6 last year and didn't have any issues installing so to confirm that was still the case I downloaded the last release of DNN 6 (version 6.0.2.09 from here https://dotnetnuke.codeplex.com/relea...) and was again able to install that version without any problems at all using the same SQL server and running through VS 2010.
Any help would be appreciated.
Thanks,
I was having the same problem and switching the pipeline mode for the application pool to "Integrated" fixed the issue on PortalSettings comming on null on this line:
if (PortalSettings.ActiveTab.PageHeadText != Null.NullString && !Globals.IsAdminControl())

Error while starting a GAE/GWT project: Unable to restore the previous TimeZone

When I try to run a GWT App Engine project using the Eclipse plugin, I get the following error:
Initializing App Engine server
[ERROR] Unable to start App Engine server
java.lang.RuntimeException: Unable to restore the previous TimeZone
at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:228)
at com.google.appengine.tools.development.DevAppServerImpl.start(DevAppServerImpl.java:164)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:97)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Caused by: java.lang.NoSuchFieldException: defaultZoneTL
at java.lang.Class.getDeclaredField(Class.java:1899)
at com.google.appengine.tools.development.DevAppServerImpl.restoreLocalTimeZone(DevAppServerImpl.java:222)
... 6 more
[ERROR] shell failed in doStartupServer method
Unable to start embedded HTTP server
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
at com.google.appengine.tools.development.gwt.AppEngineLauncher.start(AppEngineLauncher.java:102)
at com.google.gwt.dev.DevMode.doStartUpServer(DevMode.java:509)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1068)
at com.google.gwt.dev.DevModeBase.run(DevModeBase.java:811)
at com.google.gwt.dev.DevMode.main(DevMode.java:311)
Chris Cashwell provided the correct answer. But for people like myself who are relatively new to Eclipse, here are more explicit instructions (which I came across here):
Right-click project directory in Project Explorer window
Select Run As > Run Configurations...
Go to Arguments tab
In VM Arguments textbox, add one of the following parameters mentioned by Chris:
-Dappengine.user.timezone.impl=UTC (this worked in my case)
-Dappengine.user.timezone=UTC
Click Apply then Run
In my case, this was done specifically in the context of a PlayN project I am working on, so I was right-clicking the HTML folder. In the end, my VM arguments looked something like this:
-Xmx512m -javaagent:/long/path/to/appengine-agent.jar -Dappengine.user.timezone.impl=UTC
See this bug report. For me, it was fixed by downgrading the JDK from 1.7.0_03 -> 1.7.0_02. Other things that have been purported to work are adding -Dappengine.user.timezone=UTC (or in some cases -Dappengine.user.timezone.impl=UTC) to the JVM flags.
i got this error, and found port already in use in the console.
I closed eclipse and killed javaw.exe. Then everything worked fine.

Deploying a WPF Prism application using ClickOnce runs in to a generic error

I am trying to deploy a WPF Prism application using ClickOnce Deployment. I have followed the following steps (http://msdn.microsoft.com/en-us/library/gg405497(v=pandp.40).aspx)
Publishing an Initial Version of the Shell Application
Updating the Manifests to Include Dynamically Loaded Module Assemblies - I have used Mage to include the dynamically loaded modules.
and then tried to launch and install the application but it runs in to a generic error.
"Application cannot be started. Contact the applicaiton vendor"
I am not running any other applications. I am running in to this error everytime I try to install the application. Please find the details from the log below.
OPERATION PROGRESS STATUS
* [9/19/2011 4:22:20 PM] : Activation of http://localhost/ABCTools/ABCTools.Shell.application has started.
* [9/19/2011 4:22:20 PM] : Processing of deployment manifest has successfully completed.
ERROR DETAILS
Following errors were detected during this operation.
* [9/19/2011 4:22:20 PM] System.Runtime.InteropServices.COMException
- Insufficient system resources exist to complete the requested service. (Exception from HRESULT: 0x800705AA)
- Source: System.Deployment
You should verify whether the installation fails the same on a different computer. The exception you are getting is related to system corruption, possibly even of NGEN (in the .net framework).
http://www.wiki-errors.com/wiki-errors.php?wiki=0x800705AA
http://forums.asp.net/t/1502957.aspx/1

Resources