Use this repo as a template for deploying Shiny apps as standalone Windows desktop applications.
- Copy in Shiny apps (each in a separate folder) - see app and app2 folders as example.
- Optionally bundle in a portable R installation (see below).
- Optionally bundle in a web browser (see below).
- Optionally package as installer executable (see below).
- Double click run.bat to select and launch an app.
There are two options:
- Install R Portable, then copy the contents of R-Portable\App\R-Portable\ into the R folder.
- Install a fresh installation of R (to avoid including packages the end-user may not use) and copy into the R folder.
Put any package dependencies in req.txt one per line, these will be loaded in run.R or installed if missing on first run.
Download and install Google Chrome Portable, then copy the contents of GoogleChromePortable\App\Chrome-bin\ into the chrome folder.
Other suitable browsers may be also be used, but make sure to change browser_path in run.R.
See setup.iss for an example compilation script using Inno Setup.
Make sure to generate a new AppId and change the name, version, etc.
To allow the app to terminate when the browser window is closed, the following should be added to the server function:
Note that session must be added as an argument to the server function
server <- function(input, output, session) {
...
session$onSessionEnded(function() {
stopApp()
})
}