USB Key for Mac & Windows to Autoload Content? - windows

I'm looking to find out a clean method of deploying a USB key to a customer, that once inserted into the computer (both Mac and Windows), will auto load a respective "thing".
The "thing" could be either an application, a PDF, a splash page (html) in a web browser (system default browser), or potentially an AIR application. The problem with AIR is that I'd need the user to install AIR potentially. Since AIR is platform independent, that could work out pretty well I'd think.
I have established what will be my windows autorun.inf, to load up either AIR, or a portable browser with the splash page. And on the Mac, the user will get a folder (with a graphic background) and a link to launch the page (in a browser, or the portable browser all together). I'm looking for best practices for something like this ultimately.

Autorun isn't generally possible anymore because of the negative security implications.
You're better off making sure that your disk image is set to open a finder window on load, and that the background encourages people to (manually) run your content.
A similar option to an AIR app, but with even less overhead, are Flash projectors. They have fewer features, but are portable and lightweight.

Related

On macOS how can I open a gui .app hidden or off screen?

I have a cross platform need to open a gui application programmatically, but keep it hidden from the user. Effectively, I want a command line driven interface to act as a wrapper over this gui app, and insulate the end user from seeing or interacting with it. The program is from a third party, I did not write it, and I can't edit it.
I can do this one way or another on Windows, on Linux, and (in theory) on older versions of Mac, but not the most recent ones. On Windows, I can use the native api ShellEx with a hide window parameter. It's very easy and straight forward. In Linux, I can can render a gui app to a virtual frame buffer (using xvfb).
On macOS, the open command has a --hide and --background option, but they don't have any effect (at least on this app...)
I tried changing the plist file and found that LSUIElement will hide the app from the docker, but it still shows up on the screen. LSUIPresentationMode=4 or 3 OUGHT to work for exactly this, but apparently that doesn't do anything anymore as of a few os versions ago...
I tried the approach of moving the .app off of the screen with AppleScript. That works, but you have to manually grant permissions for such a thing to occur via System Preferences. In prior versions of Mac, those permissions could be twiddled on the fly via sqlLite (so long as you had sudo rights), but now they blocked that too. You can only pull that off apparently through a process of disabling "SIP" and forcing a reboot. That is totally outside the realm of what I want.
I've tried using the xvfb approach on Mac (jumping through hoops to acquire the binary they use to include stock, and now dropped), but I'm not having luck with that. I don't think it's possible to direct a mac .app to another display is it? A .app does not render on X11 by it's nature right?
What other clever ways might there be to hide a third party app on a mac? (and that still works in most recent os versions!)

How can I lock down a Mac to exhibit one website?

I'm currently working on a website that will be in an exhibition soon. Users will have a keyboard and mouse in front of them, so I need to lock down the machine to be restricted to just one website. Guided Access mode on iOS is a perfect example. I wish Apple had an OS X version for this reason.
I'm currently trying parental controls but it seems to be quite buggy/not responding to my preferences. I'd really love to just have Chrome or Safari locked to fullscreen somehow so users can't exit the browser/redirect to another website.
Thank you in advance!
I'm thinking you could put Chrome in kiosk mode(can't change website) then change the shortcut keys for exiting out of fullscreen mode if you can on a Mac, and maybe having another desktop and monitor for emergencies. I would have made this a comment but I can't :P This isn't really an answer, just a suggestion. It would really be easier on another OS to do the stuff above.
Recently used 'Web Kiosk' software for exactly this purpose: https://www.macproline.com/webkiosk
It has a lot of options for locking down the machine, both in terms of web sites visited, and disabling key commands, preferences, switching apps, quitting apps, etc.
When searching for a solution for this, I was surprised how few options there were. That said, I would give this a look.

Wrapper around web-app under Windows

I have an application with web interface. Unfortunately, it has all disadvantages of being a web page:
It doesn't have a standalone window, so users cannot manage it via the taskbar.
Users see the address line with something like 'http://localhost:8080' that is not a good idea for home users.
If users click on a tray icon, there is no way to activate the tab in a browser, which contain the application interface.
So, it would be nice to have a wrapper application with a browser within.
In case of IE I know it's possible to create a window with Trident ActiveX component. But what if it's Windows XP with IE6 but installed latest Chrome? I'd like to prefer Chrome since it supports a lot more features which the user will never see.
So, is there a way to wrap a page into Chrome/Firefox and make it look like a standalone application, if one of them is presented in the user's system? (The application shouldn't install anything large, so Chromium build is not an option).
P.S. I'm not interested in supporting other platforms than Windows.
Regards,
Take a look at Chrome Apps.
I hope helps you.

Corruption of menus in Windows app

I'm the author of a Windows application that's been around for years. The app uses the wxWidgets UI library. For the newest version, we upgraded to the Microsoft c++ compiler in Studio 10 and to the latest Windows SDK library. We did not change much else in the app. Now, several users have reported that after a period of time running the app, the menus go crazy. All of the users reporting the problem are running on Windows XP. The menus either get huge, filling the screen, and have a giant italic font with strikethroughs. Or they get really small, so that the only thing shown are up and down arrows, suggesting the rendering code thinks the screen real estate is too small to display anything else.
You can find example screen shots here:
Once the menus go crazy, all menus are affected, except the standard Windows and MDI menus. The only way to recover is to restart the app.
The code in the app and wxWidgits is a thin layer on top of the standard Windows API. Once the menus are created, afaik Windows manages the rendering.
Any ideas what's going wrong?

iPad - Test an HTML5 site on a Win7 PC

I'm looking to target a website specifically for an iPad but we don't have any Macs in house for testing. What's the most accurate way to test the site on a PC? I image I could use the Safari browser and shrink the window down to approximate the iPad screen size but I wonder if there's a better method out there.
If you target a website specifically for a particular device, buy that particular device. This doesn't only apply to iPad.
Two caveats I noticed a lot of websites have for a touch-oriented device like an iPad, iPhone:
The mouse-hover event isn't generated. So, the HTML/CSS/Javascript menu structure which works without clicking on a WebKit browser (like Safari) on a mouse-oriented device might stop working completely.
The scrolling event (coming from a flick of a finger) is not passed to elements inside a page; instead it just scrolls the entire page. A subelement shown with a scroll bar on a non-touch-oriented device might be shown without the scroll bar at all. So, sometimes you lose the ability to scroll inside a subelement.
There might be other caveats. It's really difficult to imagine all the way a device might behave differently from a mouse-oriented device; so, buy an iPad.
By the way, it's of no use to buy a Mac in this situation: Safari on a Mac still behaves (as far as the mouse/touch events are concerned) rather differently from Safari on an iPad/iPhone. An iPad can be paired with a Windows PC.
See this Apple document for a few advices for preparing a web page for the iPad.
I'd just use Safari, as the mobile version uses the same rendering engine (though possibly modified to fit the iPads resources).
It should display the same, if not close.
You can try to use online imitation services.
For example http://app.crossbrowsertesting.com/, or https://saucelabs.com/. They provide lots of imitations environments, for different devices and OS. You can test the site, that is already in the web, or your local files.
I myself am working currently with app.crossbrowsertesting.com for the first time. It really shows the problem, that the client encountered on his iPad. Also have good notices about these services from experienced developer, a friend of mine.

Resources