Having a WPF app we've got a server that lets the user to install using ClickOnce distribution. The issue here is the link we provide changes to hide real filesystem.
First time the user tries to install the app, everything goes well; the .application gets launched remotely and the app gets installed.
Next time the user wants to update the app, if the link provided is differente (because of a token or a differente sub-path) the user will receive a DeploymentException saying that the same app is already installed from a different location.
Is there a way to allow the app to be installed from any location we provide?
Thanks!
UPDATE 1:
Let me explain what we've got so far:
We have a web server that publishes a folder where the app lives. The path depends on some factors so it may change. if the user wants to install the same app from a different url path, it will fail.
Something like:
http://site.site/app_15/App.application
http://site.site/app_16/App.application
being app_15 and app_16 the same app but installed on different dates and admin sites.
Related
I have changed the name of my two apps and I would like to change the name of the package in the Google Play Console (I have already changed it in the programming app that I use) since, in production, when putting the App Bundle it tells me that it has to have the same package name.
I have tried to contact Google and they have told me to do it for this site.
The package name is the identifier of the app, so changing package name effectively means creating a new app in the Play Console. That is the only way to "change" the package name. If you have users, that also means you'd need to ask them to install the new app. As to migrating the user data, there are some ways to do it by having the old app and the new app communicate with each other.
Currently, I have full access to a local Windows IIS System in which we execute a windows forms application as a processes in which the winform app runs and takes a screen shot of itself and the web call returns the URL of the saved image. The full process looks like -
User navigates to webpage
User inputs variables on web page and submits it to IIS end point.
IIS takes variables, runs Process.Start on winform app passing in variables.
IIS returns the URL from the screen capture of the winform app.
Is this something that is doable on Azure or Amazon? I'd like to put this in the cloud but I'm not sure if security restrictions would prevent an app like this from being executed as we had to give specific permissions to get this to work.
If you do this now on a server with IIS, you would be able to do it in the cloud (azure or amazon although I have no amazon experience so I'm guessing). The real question is what would you have to deploy. In this case, you cannot use an app service as your platform for this, you would have to run it in a virtual machine with IIS and configure everything as you do now. Or, if you are adventurous and need load balancing, etc. you could try a virtual machine scale set.
One caveat, since I do not know what the windows application does, what it depends on, you may need to put in some networking configuration if the windows app communicates back to an on-prem database or file store.
Some mobile website will recommend you install some app, I think it's just bring out the app information if detected you are using mobile device, but some website will note bring out the information if you already installed the app, how to do that?
You can store information in a database, a cookie, the localStorage or a native app. Let's suppose that you have a FooInstalled which might be null or true. You prompt your user to install foo and when you see it was installed, you set FooInstalled to true. Later, when he visits your site, you read FooInstalled from your database/cookie/localStorage/native app storage and see that it is true. So you don't ask your user to install foo.
It seems that DNN is undergoing an upgrade and I cannot access the forums or many of the docs. Needing an answer soon, and Google providing too many varied types of hits (none of which are helpful or most of which post to the DNN site that is undergoing that upgrade), I had a few questions about setting up DNN.
First, I am coming from Orchard. There I was able to use Webmatrix - I downloaded the web version, opened as administrator, created modules, messed with themes, etc. Using the Orchard Docs, I was able to set up a multi-tenant site and run it on local host (IIS express through Webmatrix) - this included modifying the host/config files to view the multi-tenant sites. I could then publish to my own server running IIS 7. On the server I set up the landlord site then bound the tenants with no problem.
Being new to DNN (and things not being readily available at the moment on their site), I was hoping I could get some guidance on how to set up DNN similar to what I did with Orchard.
First question is obviously whether or not that is possible (i.e., no IIS, only IIS Express (Webmatrix) on my local machine).
Here would be my other questions:
If I can run it locally, can I just download the 7.1.0 new install package, and open Webmatrix (as Admin) on the folder I unzipped it in?
Assuming I just "Run" the website, I will then set up the "Landlord" instance of DNN on the following screens, correct? (i.e., where it asks for credentials and what DB setup I can use)
Can I then go ahead and create sub-tenant sites (alias/portal)? If so, do I go about manually updating my host/config files to run those tenants (depending on the port)?
Assume all of the above is correct, do I have to "reinstall" the 7.1.0 package on my webserver, or will a simple publish from Webmatrix do (with the proper credentials in Settings)? If so, I can handle pointing to the landlord on my server and then binding my subtenants in IIS.
Sorry for the n00b questions. Thanks!
On the Download page on dnnsoftware.com, there's a link to click which will start the install process within WebMatrix: http://www.microsoft.com/web/gallery/install.aspx?appsxml=www.microsoft.com%2fweb%2fwebpi%2f2.0%2fWebApplicationList.xml&appid=106
When you create a new portal, you can specify that it uses a URL which is a subdirectory of the current URL (i.e. a child portal alias), so that you don't have to use different ports. I'm not especially familiar with IIS Express, so I would expect that you could point multiple ports to the site, and map those as different portal aliases, but not sure exactly how you could do that, if you don't want to make use of child portal aliases.
To publish a site, you should just need to push the file system and database, and setup IIS.
I have a WPF (Clickonce) app. I want to find out which users are installing or re-installing the app, and probably write those info in a database for audit.
How can I do that?
The current ClickOnce deployment doesn't provide any server-side hooks for monitoring whatsoever (in fact, the "website" generated by ClickOnce publishing is just a very simple, plain HTML page providing a link/button for downloading and executing the .application or setup.exe, respectively, on the client machine. Everything else is taking place locally).
Now, depending on what you want to log (initial installations, or updates, or both) you have the following options:
Create your own website where user will register before getting access to the install/launch for the app (or maybe you just identify them by IP - depends on your needs) - this allows you to log who first installs the app, but not the automatic updates.
In your application, use the classes in the System.Deployment namespace (notably ApplicationDeployment) to access information about updates etc. whenever your application is run. You can then have your app make calls to a web service that you provide, where you can log any installation / launch action (or even other runtime information, like usage of certain features, exceptions etc).
If you are targeting .NET 4, you can have the log files go to a specific folder. Then when the user runs the application, you can have it copy it to your server and delete it, or write it to a database and delete it. Here's an article explaining how to specify where to put the log from a ClickOnce deployment. Note that it runs when you install, update, or uninstall the application.
http://robindotnet.wordpress.com/2010/05/31/enhanced-logging-in-clickonce-deployment/
The registry settings are in HKCU, so you could have your C/O app actually set the info when it first installs. You'll miss the first install log, but it will write the logs to disk after that.
Also note that the article tells you how to turn on verbose logging. You don't have to do that just to write the log to a folder.