How does Chrome side-load "store apps"? - windows-8

I have been tasked with writing a simple one-time-use Metro/windows store/modern UI (whatever you want to call it now) app for windows 8; it wouldn't be appropriate to try to get it into the store, because we only plan on deploying it to about 4 or 5 devices. I noticed that when I installed Chrome on the machine, it somehow managed to sneak a metro version of itself into my start menu.
I am not looking for a way to deploy a metro app to another machine, I can already do this a variety of ways (including add-appxpackage and via the remote debugger tools with visual studio 2012), I am only curious how Chrome managed to side-load a metro app, and what process they used.
Anyone have any ideas?

There was no side-loading of a Windows App when Chrome was installed. Browsers get special treatment, and the default browser (and only the default browser) can act as a Windows Store app if it implements the appropriate functionality.
There is a downloadable white paper about how this works on MSDN:
http://msdn.microsoft.com/en-us/library/windows/apps/hh465413.aspx

Related

WebStorm, Meteor and phone tests

I am developing a web application with Meteor and WebStorm as IDE.
This application can be called from a PC, a tablet or a phone, which does not pose a problem of execution since it is called in the browser.
On the other hand problems appear, which are due to the size of the screen and the positioning portrait or landscape.
To test, a solution is to deploy the app, open it in the phone browser and see what works or does not work. A bit heavy ...
Is there a method to test a web application on a device connected to the development PC, through WebStorm, can be with an added package, or with another tool
Any leads or ideas would be welcome.
Thank you for your answers
YC
I have had a similar issue, I used Ghostlabs (https://www.vanamco.com/ghostlab/), to test different screensizes simultaneously. You will need to have physical devices present and connected to your development machine.
Saucelabs(https://saucelabs.com/) in my opinion is an extension of Ghostlabs, with the advantages of using the cloud.
One other tool I would recommend is Browser stack (https://www.browserstack.com/) it gives similar benefits as Saucelabs.
These tools I find are very effective for cross browser testing too.

Does Microsoft UI Automation Framework work with Chrome, Python and Java Apps?

I am working on an automation project, in which I need to capture the activities [ application launched, data entered, input type etc.] user performs on a desktop. I came across Microsoft UI Automation framework which so far works well for native windows based applications like MS Office, .NET apps etc. However I did not find any useful information / samples of capturing the information from different web browsers [Chrome is a must], Python apps, Java Apps etc. Can someone please confirm whether MS UI Automation Framework supports such apps. Any working example to extract user activities from these apps would be highly appreciated. Thanks.
Chrome only supports UI Automation for toolbars, tabs, menu, buttons around the web page. Everything that's rendered as a web page is not seen by UIA.
For the web page content, the easiest way is to use Selenium (driven by the ChromeDriver), which is kind of a de facto standard for browsers, and has nothing to do with UIA.
To test if an app supports UIA, and how far it does, it's very easy, just run UIA's Inspect tool and check the UI tree over that application.
Some additions to Simon's answer...
Chrome page content can be seen by UIA if you run chrome --force-renderer-accessibility. Only for existing Chrome process it won't work. Though user can create a new tab chrome://accessibility manually and enable UIA for all or some chosen pages. This method also works for AT-SPI accessibility technology on Linux. Of course, Selenium WebDriver is an industry standard here. But another way exists. Both Mozilla and IE support UIA by default.
Inspect.exe can be simply downloaded from this GitHub repo.
Regarding Java apps it depends on the app type. Your chances is about 50/50.
WxPython or PyQt5 are good for UIA. TkInter or Kivy apps are not.
P.S. There is an example how to drag a file from explorer.exe and drop to Google Drive in Chrome using Python library pywinauto.
I'm a bit late to the party..
But Chromes accessibility features are only activated once something tries to access it's accessibility.
If you call AccessibleObjectFromWindow ([DllImport("oleacc.dll")]) with the window handle an existing chrome window will have its accessibility activated (and you'll see the actual web page content in UIA!).
If the chrome window is opened after your app is running - Chrome pings open processes for any open accessibility apps... for that you use AccessibleObjectFromEvent and the event you're responding to comes from the windows pipeline: EVENT_SYSTEM_ALERT = 0x0002 .
The bottom line is - you have to tell chrome that there's something installed that wants to access it's web page content.
Oh! and your application has to be signed!! Unsigned apps won't be able to access web content - I think that's the same in firefox too.
I hope this helps someone in the future.
See:
https://www.chromium.org/developers/design-documents/accessibility

Questions about Windows App (Metro) Tiles/Icons for desktop applications

I have an application written in VB.NET that I want to move to Win10. It will always be a desktop application, however I would like it to have a start icon / tile in Win 10. Looking around I found this exact question which suggests to create a Metro App (now I believe called Windows App) which launches the desktop app. This is also discussed in this thread. So the questions;
These threads are a little old is the best way in Win10 to give a desktop app a Windows App Tile by using a Windows App as the Launcher for the desktop app?
It appears that in Win10 Microsoft has now allowed non-store apps to be installed in Update Security > SideloadApps. This needs to be enabled to install the App, but does this need to be always enabled. For example what happens after install if the user turns it off, will the app then not start?
For example I see in this link that there are 2 Registry keys to change, basically AllowAllTrustedApps and AllowDevelopmentWithoutDevLicense. Is it possible for my desktop installer to change these keys, install the Windows App (and everything else) and then change the keys back again?
Uninstalling? If I created a Windows App which only launched my desktop app then there is a possibility that the user uninstalls or deletes the Windows App, meaning my desktop app would be orphaned and lost. Any suggestion on solving this?
According to your description, I think what you need is Desktop Bridge. There is no need to use a Windows App as the Launcher for the desktop app.
You can try with Desktop App Converter, with this you can bring your existing desktop apps written for .NET 4.6.1 or Win32 to the Universal Windows Platform (UWP).
And after converting, you can replace the Assets generated by Desktop App Converter (DAC) automatically to provide custom Tiles/Icons. For more, you can refer to Manually convert your app to UWP using the Desktop Bridge.

Create/embed Firefox/Chrome base browser in Visual Studio

Im creating a freeware application (long live the free community) and I'm trying to add various features that might drive people to use the application such as implementing whatsapp web https://web.whatsapp.com/ into the app so that the user will always have an "always on top" window with their chats rather than everytime having to switch tabs if they're multitasking on their browser.
The problem i am having is that the built in Browser control with VS 2013 does not work with whatsapp web and i get the option to use supported browsers like firefox...chrome...safari.
Is there anyway to make a VB.NET application open an actual chrome/firefox based browser within itself?
I found an article on Gecko Browser...I am not sure if web.whatsapp.com would see this as a firefox browser: http://www.vbforums.com/showthread.php?692005-Mozilla-Firefox-Gecko-Xulrunner-in-VB-NET-%28versions-14-and-up%29
Help appreciated.

Visual Studio Blend: using physical Windows Phone as a target device

Okay, okay - this should be simple, but I just can't figure it out, and Google isn't helping. I just bought a Lumia 635 for developing apps for the Windows store, and I'm using Blend to make my apps in HTML and JS. I've been getting along just fine so far, but it seems that I'm unable to select my WP as a target device.
I've already "unlocked" my windows phone device so that I can use it to develop. I don't believe it's to do with drivers since I would assume Win8 has the drivers inbuild. I'm wondering, is this even possible from within blend? There is a separate program named "Windows Phone App Deployment". Do I have to use this? There seems to be very little concise documentation on this, so I'm assuming it's not possible.
For universal apps, the available deploy targets are based on which project you choose as your startup project. By default the Windows App is the startup project, so it gives you deploy options like Local Machine and Simulator (Windows Tab). Change your startup project to Windows Phone App and you'll see the device option as well as different phone emulators.