Sto cercando di creare un'applicazione desktop lucido seguendo le istruzioni di questo molto bello post (http://www.r-bloggers.com/deploying-desktop-apps-with-r/)La creazione di stand-alone lucido App - Chrome errore
Quindi, fondamentalmente Ho una cartella con la seguente struttura:
App
|__ GoogleChromePortable
|__ App
|__ Data
|__ ...
|__ R Portable
|__ App
|__ Data
|__ ...
|__ shiny
|__ ui.R
|__ server.R
|__ ...
|__ LAUNCH.bat/LAUNCH.vbs
|__ runShinyApp.R
Sto creando 2 versioni diverse, una con GoogleChromePortable e una senza. Entrambe le versioni sono identiche a parte il percorso per Chrome in runShinyApp.R
.
runShinyApp.R
:
# checking if correct library paths are being used (only portable one!)
message('library paths:\n', paste('... ', .libPaths(), sep='', collapse='\n'))
# both chromes work!
chrome.sys = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe'
chrome.portable = file.path(getwd(),
'GoogleChromePortable/App/Chrome-bin/chrome.exe')
launch.browser = function(appUrl, browser.path=chrome.portable) {
message('Browser path: ', browser.path)
shell(sprintf('"%s" --app=%s', browser.path, appUrl))
}
shiny::runApp('./shiny/', launch.browser=launch.browser)
L'applicazione è lanciata attraverso un file .bat
o .vbs
che sono fondamentalmente la stessa, ma per il fatto che il primo lascia una finestra del prompt dei Comandante aperta.
LAUNCH.bat
:
SET ROPTS=--no-save --no-environ --no-init-file --no-restore --no-Rconsole
R-Portable\App\R-Portable\bin\Rscript.exe %ROPTS% runShinyApp.R 1> ShinyApp.log 2>&1
LAUNCH.vbs
:
Rexe = "R-Portable\App\R-Portable\bin\Rscript.exe"
Ropts = "--no-save --no-environ --no-init-file --no-restore --no- Rconsole"
RScriptFile = "runShinyApp.R"
Outfile = "ShinyApp.log"
strCommand = Rexe & " " & Ropts & " " & RScriptFile & " 1> " & Outfile & " 2>&1"
intWindowStyle = 0 ' Hide the window and activate another window.'
bWaitOnReturn = False ' continue running script after launching R '
' the following is a Sub call, so no parentheses around arguments'
CreateObject("Wscript.Shell").Run strCommand, intWindowStyle, bWaitOnReturn
Problema:
Il problema che sto avendo è che compare in entrambe le versioni ed è la seguente.
Se ho il mio normale Chrome lanciato (NON la versione portatile) installato sul mio sistema, l'app lucida si avvia senza problemi. Apre una nuova finestra contenente interamente solo l'app lucida.
Tuttavia, se faccio non una sessione di Chrome aperta (quella predefinita), nessuna delle versioni di lucido sembra funzionare. Si apre una finestra ma carica per sempre. Guardando i registri creati, ottengo il seguente errore:
[4092:3596:0621/154834:ERROR:url_pattern_set.cc(240)] Invalid url pattern: chrome://print/*
[4092:3596:0621/154834:ERROR:bluetooth_adapter_win.cc(102)] NOT IMPLEMENTED
Qualsiasi idea di quello che sembra essere il problema qui?
non ho mai visto questo metodo di distribuzione di applicazioni lucide. Sai che puoi usare shinyapps.io o semplicemente usare il tuo server lucido, giusto? Ospitare il tuo server lucido è molto semplice, ho un bel set di istruzioni se hai bisogno di –
Grazie per il tuo commento. Sono a conoscenza degli altri modi di implementazione Shiny. Tuttavia, per il nostro progetto vorremmo anche condividere l'app lucida con gli altri in modo che possano usare la propria potenza di elaborazione del laptop, ma senza la necessità di installare nulla. – Ewoud
@daattali puoi pubblicare o collegare queste istruzioni? –