derryleng / Shiny_Desktop_App

Deploy your R Shiny app(s) locally on Windows
MIT License
49 stars 13 forks source link
browser deploy desktop installer local portable r shiny standalone windows

Deploy Shiny app(s) locally on Windows

Use this repo as a template for deploying Shiny apps as standalone Windows desktop applications.

Bundle a portable R installation

There are two options:

  1. Install R Portable, then copy the contents of R-Portable\App\R-Portable\ into the R folder.
  2. 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.

Bundle a portable web browser

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.

Create installer executable

See setup.iss for an example compilation script using Inno Setup.

Make sure to generate a new AppId and change the name, version, etc.

Extra tips

Terminating app on window close

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()
  })

}