List of local folder access restrictions for UWP desktop app? - deployment

Is there a list of restricted folders access for UWP desktop apps under Windows 10? My app will need access to the following:
ProgramData
ProgramFiles (not x86 since all will be 64bit)
User[accountname]\AppData\Local
User[accountname]\AppData\Roaming
Also, could someone point me to how to deploy my application without going thru the MS Store? I've done "developer side grade" deployments to my other PCs but this is NOT going to fly for my end users obviously ... so I was hoping there is an easier way to deploy for end users and NOT using MS store?
Cheers, Rob.

You can use Web Install feature. About the restricted access to the folders UWP Applications cannot get access to that kind of folders
Web Install
https://learn.microsoft.com/en-us/windows/msix/app-installer/installing-windows10-apps-web
Folders
https://learn.microsoft.com/en-us/windows/uwp/files/file-access-permissions

Related

What directory to publish Asp.NET Core application on desktop to?

I come from the desktop application world (WPF, WinForms), where the convention is to deploy your exe to \Program Files[ (x86)]\CompanyName\AppName\ directory, and store all the data in \Program Data\CompanyName\AppName\ directory.
What's the corresponding convention for deploying Asp.NET Core web services on a desktop (not a server) PC? Program Files directory doesn't seem like a good idea, because it requires admin credentials for writing, a problem you hit the moment you try to publish the app. On the other hand, while Program Data doesn't have the permission problem, it just doesn't feel right, given there is no corresponding Program Files location.
I've also seen C:\intepub\wwwroot\web-service-name used, when IIS was involved. Is that the way to go? I'm guessing it makes sense when running Asp.Net Core app in Kestrel behind IIS as reverse proxy, but what if I were to host my app inside a Windows Service instead?
There is a lot of enduser as well as enterprise apps deployed as windows services with embedded web applications (using Apache, tomcat..etc) Under Program Files, Ex: HPE server admin/config tools.
So for Kestrel APP, I would deploy bin in Program Files and write logs,DB,etc under Program Data. it will works without permission issues since dotnet binary has the needed perms.

Best way to deploy a Click Once application on a network

I am trying to install an Outlook 365 Add In that I have developed. I have published the application as a click once which can be installed by running the setup file.
I need the application to be installed on all company computers, so the best place to host the application would be the company network.
How can I deploy my application to all users and allow the application to automatically update every time there is a new version published?
I greatly appreciate any help with this issue. This is the first large application deployment that I have undertaken.
I can't advise on the specific mechanism for deploying an "installed" version of your solution - I imagine you can accomplish that with most application deployment systems. Otherwise users will have to run the setup.exe from your network deployment. When you do have an update you simply copy the new files to a new versioned folder and existing installations will detect the change of version number in the deployed manifest and auto-update. See also: https://msdn.microsoft.com/en-us/library/bb772100.aspx

ClickOnce check for update without executing app

I work in a service organization where users of our internal tools are often disconnected. It is often the case that service engineers on service assignments are "stranded" with an outdated version of some internal tool.
These tools are deployed using ClickOnce publish VS2010 .NET4 . If the users run all their apps while still connected to corporate network, they would get a notification that a new version was available. As the number of various tools increase, the chance increases that some app is not updated.
Is it possible to automate this process, by a batch file or something?
So that the engineers just need to run one file when connected to corporate nw to get all the newest versions of their installed tools?
Added:
An easier way of saying it would be to have "something like Windows update" operating on corporate net, but for internal ClickOnce apps.
Very interesting question. I can't think of a quick way to do this, but it's definitely possible.
I would create another ClickOnce app whose job is to update the other ClickOnce apps. This app needs the url of each app's .application file. If all engineers are supposed to have all apps, that's easy. If not, maybe you could look through their start menu and find all the ClickOnce Application Reference files. Those files contain the url.
Next, just launch the url and pass a query string argument...
http://server/MyApp/MyApp.application?UpdateOnly=true
In the startup of your applications, you can check the query string argument and shut down the app if it's run with UpdateOnly=true.
One side note. If you set the minimum required version of each of your apps to the latest version, users won't get prompted with the new version dialog. Seems like you'd want to do that or the user would still have to pay attention and do a lot of clicking.

List and delete all Enterprise Apps installed in iphone

I am trying to develop an application which lists a set of enterprise application along with the installation status.I tried to do his by accessing "com.apple.mobile.installation.plist",but i am not aware about its exact location in device.Also this is an enterprise application so device should provide access to get this information some way..Looking for a solution.Also i need to delete the apps also ...
Cannot be done. App installation and deletion requires user initiative.

Deploy WPF ClickOnce .application File as .EXE

I've developed a WPF application. A large company is trying to make my application available to users' desktops. The traditional way to do this would be to point the users' browsers to:
http://www.MySite.com/MyApp.application
But the I.T. group at this company has configured their proxy server in such a way so as to block .application files for security reasons. They do, however, allow .exe files to pass through their proxy server and execute on client workstations. The irony of allowing .exe's from the Internet while blocking .application text files "for security reasons" isn't wasted on me but let's put that aside for a moment.
What kind of workaround would you recommend that would allow my app to launch from client desktops given that .EXEs are allowed? My first thought is to write a mini launcher app that does nothing more than download a .zip'd version of the .application file and all dependencies to a temp folder on the user's machine and then launch the .application file from there. Is there a better solution?
FWIW: Google has figured out a way to deploy their Chrome browser to Windows desktops in corporations like this one, despite the fact that ClickOnce is their deployment mechanism. If you view the source code at:
http://www.google.com/chrome/thankyou.html?&oneclickinstalled=
...you'll see they're pointing to an installer at:
/update2/installers/clickonce/GoogleInstaller_en.application.
That's a clickonce file. But somehow they've figured out a way to wrap it in an .exe in order to bypass proxy restrictions on .application files. I not familiar enough with JScript to understand what they're doing but it works. I'm trying to emulate this behavior for my own app.
This may not work for your situation. However, one possibility is to xcopy your exe and any dependencies to a folder on your webserver. Add a link in a webpage to your exe so your users can launch the app by clicking the link. In order for any of the users to be able to run the exe the first time, a caspol script needs to be run on each user machine to allow your app to run. Whenever you update the app, just xcopy the new version to the same folder on the webserver.