Domanda

Sono stato presentato con una sfida architettonica e sto cercando idee.

Cliente ha un'applicazione nativa Win32 esistenti che sono abbastanza resistenti ai cambiamenti in tutti i modi, ma banali. È scritto in C ++ non gestito e usa almeno un terzo dll parti quindi non è un alone exe stand. Quello che è non importa molto, pensare ad esso come strumento di comunicazione di assistenza clienti. Idealmente il cliente vuole lanciare questo da un sito web piuttosto che pubblicarlo come un programma installabile. Inoltre il cliente ha bisogno di passare un token per l'eseguibile quando si esegue in modo che possa chiamare casa e chiedere ulteriori istruzioni.

Io vado avanti e ammettere che come l'applicazione sarà lanciata avrebbe dovuto essere tra le prime considerazioni di progettazione, non sarà l'ultima - ma è quello che è.

I problemi di sicurezza oltre malware, spyware, trojan e simili fanno di questo un modello di distribuzione molto improbabile. Ho più esperienza in non fare questo che trovare un modo legittimo per realizzarlo.

Tutte le idee (positivi o negativi) sono i benvenuti.

È stato utile?

Soluzione

convincere il cliente a lasciare la vostra azienda risolvere il difetto di progettazione originale, molto probabilmente a proprie spese. Apologize. A LOT .

Altri suggerimenti

Non posso offrire qualche consiglio sul lancio di un app che viene installato sui PC degli utenti. Così forse qualcuno offrirà consulenza su questo.

Tuttavia, v'è la soluzione alternativa di installare l'applicazione sul vostro server. È quindi possibile scrivere del codice in grado di accedere ai dati e la visualizzazione tramite HTML. Questo sarebbe idealmente essere facilmente achieveable con le API favorito di Web Services, e altri dohickeys. Ma immagino che non è una possibile soluzione?

L'altra opzione è un prodotto simile ad alcuni dei prodotti di integrazione da NDL MetaScype .

Il loro prodotto è effettivamente un software screen-scraping che si apre in fondo l'applicazione e viene eseguito quello che per-tutti-gli intenti-e-fini, è una macro. Il vantaggio di questo è che tutta la logica di business viene mantenuto (vale a dire che stai digitando in modo efficace in un campo e se quel campo torna con un errore del sistema -. Tua applicazione web dovrebbe trovare troppo

Buona fortuna - penso che lo troverete estremamente difficile senza ottenere agli utenti di modificare le impostazioni di sicurezza per il vostro sito specifico

.

Si può provare a creare un controllo ActiveX che scaricherà l'eseguibile e lanciarlo, ma questo purtroppo si limita a IE. Inoltre, crea un ulteriore step di installazione / esecuzione per il controllo sulla pagina web. Questo potrebbe non essere accettabile per alcuni dei vostri clienti se hanno le politiche di tutto gli utenti di scaricare ed eseguire i controlli ActiveX.

Si può anche provare il confezionamento del exe ed è dipendenze come una risorsa in un altro exe. L'utente può scaricare ed eseguire questo dalla pagina web che estrae l'eseguibile e dipendenze e li esegue. Questo potrebbe essere un po 'più diretto rispetto al percorso ActiveX, ma può ancora avere alcune delle stesse limitazioni intorno politiche di sicurezza.

Non avete intenzione di trovare una semplice soluzione a questo, purtroppo, -. Codice nativo arbitrario in esecuzione da un sito web è difficile da disegno

Non sono del tutto sicuro di aver capito la situazione, ma suona come una possibilità potrebbe essere quella di eseguire l'applicazione su un server e quindi utilizzare Citrix per consentire pezzi del cliente per accedere all'applicazione come thin client. La mia università fa con una serie di programmi (come Photoshop, per esempio). Io non sono in grado di accedere all'applicazione per installarlo, ma posso scaricare un piccolo file che lancia Citrix e esegue l'applicazione. L'applicazione ha sempre comandi Windows-like, anche se sto correndo un Mac. Certo, ho ancora dovuto installare Citrix, così forse non c'è molto beneficio in corso questa strada, ma potrebbe essere un compromesso più facile che alcune delle vostre altre opzioni.

Una seconda, più pazzo idea sarebbe quella di integrare il programma di installazione in app in modo che quando si lancia per la prima volta, si installa, poi si comincia. Poi basta dire al cliente che ci vuole molto tempo per avviare per la prima volta.

Si prega di chiarire se le mie risposte suggeriscono che non capisco il problema. Sono abbastanza curioso di saperne di più sulla situazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top