Getting Started

Install Shiny ShareBridge and build your first deployment in under 10 minutes

Prerequisites

Before you begin, make sure the publisher machine has:

install.packages(c("shiny", "processx", "jsonlite"))
Note

End users need none of the above if you bundle portable R during the build.


Step 1 — Get Shiny ShareBridge

Clone or download the repository:

git clone https://github.com/PrigasG/ShareBridge.git

Or download the ZIP from GitHub and extract it anywhere — Documents, a project folder, wherever you keep your tools.

The framework root should look like:

ShareBridge/
├── PublishApp.hta      ← open this to publish
├── LaunchApp.hta
├── run.bat
├── run.R
├── build/
├── strip_r.R
└── ...

Step 2 — Create portable R (one-time setup)

Shiny ShareBridge can bundle a stripped-down copy of R inside every deployment so end users need nothing installed. You only do this once per R version.

  1. Open PublishApp.hta
  2. Expand Framework setup
  3. Browse to your full R installation (e.g. C:\Program Files\R\R-4.5.1)
  4. Click Create portable R
  5. Wait for the green success bar

This creates R-portable-master/ in the framework folder. Future builds copy from there automatically.

Tip

Skip this step if your end users already have R installed. Shiny ShareBridge will use their system R as a fallback.


Step 3 — Open the Publisher UI

Double-click PublishApp.hta in the framework root. A browser window opens with the Publisher interface.

If your environment blocks .hta files via Group Policy, use publish.bat instead — it opens the same UI in a console window.


Step 4 — Fill in your app details

  1. Select source folder
    Click Browse next to App folder and select the folder containing your app.R (or ui.R + server.R). Shiny ShareBridge validates the structure immediately and shows a green badge if it looks correct.
  2. Review detected packages
    Shiny ShareBridge scans your app code and lists all packages it found. Review the dependency notes and preflight checks, then add any extras the scanner might miss (dynamic loading, etc.) in the Additional packages box.
  3. Set the output folder
    This is where the deployable folder will be created. It is auto-filled based on the app name. Change it if needed.
  4. Review the build summary
    A summary panel appears above the Build button showing: app name, package count, portable R status, and any advanced options. Confirm everything looks right.

Step 5 — Build

Click Build deployment. The progress overlay tracks each phase:

Phase What is happening
Setting up folder Creating output directory structure
Copying portable R Robocopy of ~50 MB stripped R installation
Detecting dependencies Scanning app code
Downloading packages Fetching from CRAN
Installing packages Unpacking binaries into packages/
Compiling from source Only when no binary is available (shows a shimmer bar)
Verifying Load-testing every bundled package
Done Health check runs automatically

Typical build times:

  • Simple app, 3–5 packages — 2–4 minutes
  • Dashboard, 10–15 packages — 5–10 minutes
  • Complex app with source compilation — up to 20 minutes (first build only)
Tip

Subsequent builds of the same app are faster because packages are already on disk — only changed ones are reinstalled.


Step 6 — Health check and test launch

After a successful build, Shiny ShareBridge automatically runs a health check that verifies:

  • All required framework files are present
  • The app/ folder exists
  • Every package in req.txt is bundled in packages/
  • Portable R is bundled
  • Pandoc is in place (if the stub folder exists)

Then click Test launch to open the app exactly as an end user would.

If a build fails or a warning needs review, open Publisher logs and download the diagnostics zip. It includes the current log, selected saved log, package list, preflight notes, and health-check details when available.

Before presenting an app for team review, download the Readiness report and IT checklist from the Preflight panel. After a successful build, download User instructions from the success bar for the handoff package.


Step 7 — Distribute

  1. Copy the output folder to SharePoint or a OneDrive-synced location
  2. Tell users to sync it locally
  3. Tell users to open LaunchApp.hta — that is all they need to do

On first launch, users are offered a desktop shortcut automatically.

Important

If you distribute a zip instead of a synced folder, zip the complete Publisher output. Users who do not have R installed need the bundled R/ folder in that zip.

Publishing to Posit Connect Cloud and Hugging Face

For hosted publishing, publish the Shiny app source rather than the ShareBridge deployment folder. Posit Connect Cloud expects a public GitHub repository with a primary file such as app.R and a manifest.json created by rsconnect::writeManifest().

When the Publisher UI itself runs on Connect Cloud or Hugging Face, use Browse… to upload a local app folder into the hosted session. Hosted sessions can inspect readiness, create review reports, and build a downloadable zip, but they cannot browse arbitrary paths on your computer or create Portable R from your local Windows R installation.

For Hugging Face Spaces, use the Space repository:

git clone https://huggingface.co/spaces/Prigas89/Shiny_ShareBridge

See Cloud Publishing for the ShareBridge-specific hosted publishing workflows.


What’s next?

  • Publisher Guide — detailed reference for all publisher options
  • Cloud Publishing — publish the same app source to Posit Connect Cloud or Hugging Face Spaces
  • User Guide — what to tell your end users
  • Reference — all config files, CLI arguments, and env vars