service worker cache files with TWA app install - caching

I've successfully created a TWA application and it is working as expected! the .aab file is almost 2 MB in size.
I have some big files that the service worker caches on the install event, it would be desirable to include these files with the TWA application on google play so that they got installed with the app rather than waiting for the user to open the app to start another installing process.
is there a way to achieve this? or maybe a workaround where I let the service worker start caching right after the TWA app is installed on the device (before the user opens the app)?

Currently, there isn't a solution that will allow you to ship files with the .aab/.apk or trigger the Service Worker upon the application being installed.
There is a discussion about enabling shipping files with the application package, that would allow bootstrapping the application at https://crbug.com/816798. Please, do star the issue if that's interesting to you and share your use-case.

Related

Alternative to manage Apps Installtion/Updates via Endpoint Manager

I am currently using Endpoint Manager to install Apps on employees machines.
However, from time to time apps need to be updated. With MSI apps it quite strightforward. The issue is with EXE apps, is there is a manual process that requires to go and create a package.
I was wondering if there is a better option to manage it? So I can trigger app installation without preparing it manually. Maybe with another tool that integrate with Endpoint manager and will save us some time.

RabbitMQ Installation - Avoid service restart after enabling plugins

I have a c# code that installs rabbitmq on windows machines.
After running rabbitmq-service install and rabbitmq-service start I am running rabbitmq-plugins enable rabbitmq_management.
At the end I get:
set 3 plugins.
Offline change; changes will take effect at broker restart.
I would like to know if I can avoid this restart. It's taking a lot of time and slowing the installation process. I'm pretty sure that at least one time during my tests I wasn't required to do that but I can't reproduce...
You might be running into the issue we are addressing in this pull request:
https://github.com/rabbitmq/rabbitmq-server-release/pull/82
You don't say which version of RabbitMQ or Windows you are using, nor do you say how you are installing RabbitMQ - are you using the .exe install package or the .zip package? This is all very important information to share when you ask questions about RabbitMQ (or any software, really).
When you install RabbitMQ and start it for the first time, Erlang will create cookie files. You can read this document to see where these files are created - it depends on your version of Windows and Erlang (which is why I need to know both!).
When you run commands like rabbitmqctl.bat or rabbitmq-plugins.bat, the cookie is read to establish a connection to RabbitMQ. If the cookie file in your user's home directory does not match the cookie being used by the server, you will see an "offline change" being made.
What you should do if you are using either the .exe installer or the .zip installer is, after RabbitMQ starts, be sure to copy the .erlang.cookie file from where RabbitMQ is reading it (most likely C:\WINDOWS\system32\config\systemprofile\.erlang.cookie) to your user's home directory (C:\Users\my-account\.erlang.cookie).
Then, run rabbitmq-plugins.bat enable rabbitmq_management and the plugin will be enabled at run-time.
An alternative is to pre-create the enabled_plugins file and save it to %AppData%\RabbitMQ\enabled_plugins before starting RabbitMQ the first time. %AppData% is the application directory of the admin user account you're using to install and start / stop RabbitMQ.
To enable the management plugin, that file should contain the following text:
[rabbitmq_management].
Let me know how it goes, thanks.
The RabbitMQ team monitors the rabbitmq-users mailing list and only sometimes answers questions on StackOverflow.

Using RestartManager to manually restart application and/or when upgrading

I have up until now been using my own restart application utility.
But I now see that there is a dedicated restart manager since Vista.
This is useful for me because I now limit my application to Windows 7 or higher.
Currently, I offer a manual restart when the user changes the application language.
Also, after they have downloaded an updated installer (Inno Setup) it shuts the app down and starts the setup program.
I can't work out how to do these thing with the MFC restart manager. It mentions about adding one line of code to my MFC app and how to simulate scenarios. But what about my specific situations?
If you can please direct me to a good tutorial?
Sorry if my question is off topic and I will remove.

How to distribute an update for an nw.js app

With the forthcoming demise of Chrome Web Store Apps, I have successfully transitioned my app to nw.js I was amazed at how easy it was and how it ran first time. About the only tricky thing I encountered was how to get my app icon showing on mac.
However I am somewhat worried about app updates. Does anyone know what happens to persistent data (indexed-DB etc) when a user updates a nw.js app with a new version that I publish to my web site for download?
Also if anyone can help me with how to achieve automatic updates. I mean the full works here. What code is needed to check for an update, what code do I need to write to deliver the update, what code is needed to install the update. Chrome did all of this for me and I know absolutely nothing about server side coding.
For mac there is a mac store support:
http://docs.nwjs.io/en/latest/For%20Users/Advanced/Support%20for%20Mac%20App%20Store/
IndexedDb, localstorage, etc. will persists until the app name will not change.
For automatic updates:
There is an ongoing pull request going on for auto updater.
https://github.com/nwjs/nw.js/pull/5722
Till then, the easiest way for auto update Your application code is to host your app code on the web and open the web page with nw.js.
If You want to autoupdate the nw.js itself then you will have to provide an installer for that and tell the user to download and run the installer if there is a new update.
The documentation (http://docs.nwjs.io/en/latest/For%20Users/Advanced/Autoupdates/#autoupdates) recommends node-webkit-updater and nwjs-autoupdater. Wherein node-webkit-updater the oldest solution, which is not maintained anymore. It's also has flaws (e.g. unpack via unsigned unzip and system specific apps)
As for the second one (nwjs-autoupdater), I personally do not like the idea to install golang just to have my NWJS app autoupdate...
As an alternative one can consider https://github.com/dsheiko/nw-autoupdater
It provides an API (like node-webkit-updater, but cleaner with use of async/await) to customize auto-update flow in one's app including download/install progress

Detecting and launching an external application from within a Windows Phone 7.1/7.5 application

I need to write an application that can detect if the "Bing - Get me there" application is installed on the current phone and if so, launch it.
Is this possible? The app would need to do this for other external applications as well, so a generic method or interface for this would be helpful.
Applications run in a sandbox on Windows Phone and there is no way to tell if other applications are installed unless you are writing both of them and you use a method to announce to other applications that you are installed and they know how to read that announcement.
2 approaches to such announcements would be:
Have both (all) apps synchronise with a web server and report which devices they have been installed on. The apps can the query which other apps have been installed on that device.
Have all apps write a file to a location where all apps can access. The only place to do this is the PicturesLibrary so you have to embed the identifier in the name of the image or in its contents and be able to query all images to identify the other installed apps. The user could manually delete any images you create in this way though.
Beware, neither method can tell if the other app has subsequently been uninstalled though so this is far from foolproof.
As far as I know, there's no way to do that.
Applications on Windows Phone run in complete isolation, and can not act with other applications, other than some highly specialized apps (i.e. for playing media).

Resources