Xamarin UWP app won't install for multiple users - c#

I have created a Xamarin UWP app and installed it on a company PC, all seems fine. Multiple people log on to these PC's however and it seems that only the person who installed the app can access it. I can't seem to find it on any other user account.
When I try to install it via a different user account I get a 'Catastrophic Failure (0x8000ffff)' error from the appinstaller.
Pretty stumped about this as we need multiple users to be able to access the app on the PC, either using the same installation or an installation per account.

Okay just in case anyone stumbles across this,
I needed to run the supplied install PowerShell script, instead of the appinstaller.

Related

Service to run installers with administrative privileges

I work at a company in which we need to restrict administrative access but allow the install of select programs with an easy way to update the list of programs. We want to develop a sort of appstore for everyone's PC where they can access the list of allowed apps and install what they need. We want to write this in C#.
To do this i have initially developed a windows service that starts as a localhost and runs at boot time giving it admin powers. I than use an application which talks to the windows service via a service hosted by the windows service. Long story short its told what app the user wants from the list and the list provides the file path for the application stored on a private repository.
This is a sort of very very early attempt at this and security is in mind and will be added once the concept functions.
Now onto the problem were having.... when we launch the installer using our service the installer window never launches in the desktop for the user to configure the options that could be in an installer. This of course poses a problem for a lot of our installers. After some quick research i understand why this happens due to what level the services run in the operating system and their inability to access the desktop.
My question is..... is there a way to solve this problem? a way to have a service launch at bootime and launch installers as an administrator on the users desktop? or is this too messy and creates too many issues? is there a way to do this with a console app or WPF?
Thanks in advance!
Indeed like what you found about windows services, I don't think this whole flow can work as a service. There seems to have some workarounds though, according to this thread: How can I run an EXE program from a Windows Service using C#?
If it's an app-store where users can choose what to install, maybe an application is all that's needed. Like you said:
I than use an application which talks to the windows service via a service hosted by the windows service. Long story short its told what app the user wants from the list and the list provides the file path for the application stored on a private repository.
Seems like an application can handle all the works here already.

UWP Store 0x800701C5

I wrote a UWP program and I used Restricted capability
broadFileSystemAccess
When I published this application I obtained permission from Microsoft, and its now in the Microsoft Store.
But when I tried to install it, it got an error:
My computer: Windows 10 1809
I have tried googling this, and writing to Microsoft, both without finding a positive result.
First, make sure the problem is actually only with your app by trying to install some other app if that will work.
If this happens only with your app, you should definitely contact Windows developer support for this issue. Select Contact us tab, then Windows 10 UWP app development and submit your incident. They should be able to help. You can also post the problem on the publishing Forum for greater visibility.

How to auto update a application when computer reset everytime it shuts down?

I have a desktop application made in WPF. I have seen third party tools to auto update my application easily, but I haven't seen a solution when a computer reset his files automatically.
We can ask the system administrator to install my application and everytime the computer reset, the application is still there. But, if I want to update my application, I have to go ask the system administrator again to update my application because as far as I know, the application cannot update itself.
So is there a solution for auto-updating the application by itself without asking the system administrator to do it? I'm not necessarily (but it could be) asking for a coding solution, but if the system administrator can do something about it to solve the problem, that could be a solution too.
As i mentioned in the comment, one way would be to :
Keep your main app in a shared folder of the main server, which can be accessed by all the connected computers on which a user might use your app.
Make a second application which can access and copy your application from the network source. This code might help you to start with:
string MainAppPath = #"\\NetworkLocation\myMainApp.exe";
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
WindowsIdentity identity = new WindowsIdentity(username, password);
WindowsImpersonationContext context = identity.Impersonate();
File.Copy(MainAppPath , #"D:\UserFolder", true);
Ask your system admin to add this application in windows StartUp Folder with full rights.
Now every time the computer starts your application will be updated to the latest version that you will keep in the network folder

How to install Windows Phone 8.1 app in other phones in the simplest way?

I have developed a Windows phone 8.1 app. Now I want to distribute it to others.
I have done Create App Packages in Visual Studio, and it passed all the certification tests. So I have the .appx file, but I am not able to install it in other Windows phones.
Its showing this error:
Can't install this company app: There is a problem with this company app. Contact your company's support person for help.
I have googled and found out that there is two ways of distributing the app:
1) Mobile Device Management Tool,
2) Side-Loading
and without having an enterprise-signing certificate from Symantec it is not possible to distribute the app.
Another option is to upload the app to the store, but I don't want to do it at this moment.
So is there any way to install the app in other windows phone?
In a simple way? I don't want any certificates. I just simply want to install the app in my friends phone. Like we can create and install .exe files easily.
There are a few ways to achieve this without getting the certificate required for sideloading.
Beta
First of all - you ask for the simplest way to distribute an app.
I assume that there might be updates in the future (and if only to fix this annoying little bug that might find or whatever). Then submitting it to the store as Beta app is really something you should consider; it won't be visible - it won't be accessible to anyone whom you haven't authorised to use the app. The certification process in Beta is quite fast, as it is merely a sanity check.
Regarding the cost of the dev account: it is quite cheap (https://msdn.microsoft.com/en-us/library/windows/apps/jj863494.aspx) and can even be free, for students and startups through the respective programs (DreamSpark, BizSpark). Also: no recurring fees, even if you're not a student anymore.
But the true benefit is that all you need to do is give the authorised testers the link to your app once it is published and then all the updates are handled through the store. No messy package distribution to the individual people, no notifications - testers will get the updates like for every other app. Long term, that would save you a lot of time and the testers a lot of hassle in preparing their device for being able to play your app, they do not need to developer unlock their phones.
Without Beta submission
If you want to just send them the app package,
they must (also) have a Microsoft account. If I recall correctly, they can have one developer unlocked device even without the dev registration (http://dev.windows.com/en-us/join)
they need the Windows Phone SDK, which comes as part of Visual Studio, which installs the required tools
connect their phone to the computer
to developer unlock their device, they have to run a tool called "Windows Phone Developer Registration" and sign in with their Microsoft account
to deploy the app, use the tool called "Application Deployment".
Everytime an update is distributed, they simply need to use the "Application Deployment" tool.
or use the command line :D
Unless your friend's phone is developer unlocked, you have to submit it to the app store.

Replacing Click-Once with another installer that supports non Windows Security

I currently have an in house C# app that is delivered via click-once. I'm moving to the cloud and would like to have the Click-Once delivered from there (will be accessed from multiple countries and I can't use IP ranges to block out intruders), but it appears that the only way to secure the download is using windows security which is not an option for my clients.
I'm looking for a nice way to deliver the initial software and then keep the clients updated.
I've heard about WIX but I can't seem to find any information around updates from the internet and it.
Does WIX support this? If so can someone point me at an example or reference?
If it doesn't support it is there another solution someone can recommend?
Here is my usage scenario:
- User logs into a website supplying credentials, (username/password or certificate) then has the ability to download and install the application.
The application must check on startup of the app for a new version and if there is automatically download, install then run it. (would be nice if the user must resupply credentials for the update but not a necessity)
Bonus points if it will work on any web server such as a simple Node.js implementation.
WiX Only handles the installation via the bootstrapper or MSI you have generated, so I would assume that it's most likely a windows installer setting of some kind when it is first created. The element ClickThrough is supposed to be able to handle this scenario, though I don't know much about that.
The way my work colleagues dealt with this is by using IIS and an ASP.NET web service, along with a DLL that has methods to check with the web service if there is an update, and then prompts the user about the update and asks if they wish to update (did I say update enough in that sentence?).
Hope this helps.

Categories