Domanda

Ho dei dubbi sulle licenze. Sto usando l'applicazione C #. Scenario: L'utente ottiene la licenza per l'applicazione tramite posta sotto forma di file. Memorizza il file di licenza sul desktop. Successivamente, sceglie la licenza e fa clic su Registra. Ora l'applicazione è registrata (con licenza). Dopo alcuni giorni, se l'utente elimina il file di licenza dal desktop. L'applicazione smetterà di funzionare poiché non è presente alcun file. Voglio memorizzare i dettagli della licenza da qualche parte nel registro o nel file (percorso segreto). Ma cosa succede se quell'account utente non dispone di autorizzazioni sufficienti per leggere / scrivere registro o file. Qual è la buona strada? Conoscete qualche altro metodo? Sono alle prime armi in questo settore. Quindi, per favore, aiutami.

Grazie in anticipo.

È stato utile?

Soluzione

Tutti i dati dell'applicazione devono essere archiviati nella directory% appdata%.

Dato che hai specificato C #, ecco il codice per ottenere la cartella:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

Questo verrà emesso nella seguente posizione: In XP: C: / Documents and Settings / nome utente / Dati applicazioni / In Vista: C: / Users / nome utente / AppData / Roaming

Ti consiglio di creare una cartella in quella directory per la tua applicazione e di copiarla.

Altri suggerimenti

Microsoft ha alcuni suggerimenti per le posizioni di archiviazione nella Windows Vista: documento di certificazione e compatibilità delle applicazioni .

  

Quindi, se [il tuo programma] sta cambiando DATI condivisi (non CODICE), allora [i dati] dovrebbero logicamente andare nella cartella ProgramData. Se si tratta di singoli DATI, può andare al profilo utente.

Utilizziamo un file di licenza e lo memorizziamo nella cartella ProgramData \ CompanyName. Ma le nostre licenze sono basate su una macchina, non per utente. Per impostazione predefinita, questa cartella è nascosta in Windows, ma non è protetta da Controllo dell'account utente.

Come qualcuno mi ha detto qualche tempo fa: " Il registro è per l'interazione dell'applicazione con il sistema, non per l'interazione dell'applicazione con l'utente. " Non so se questo è il modo giusto di vedere le cose. Conservavo anche le informazioni dell'utente nel registro, ma non più. Inserire le impostazioni in un file è il modo migliore. Se vuoi memorizzare cose come i numeri di serie, non dimenticare di crittografarli.

In questo caso, probabilmente, la scrittura nel registro dovrebbe essere evitata in questo caso, specialmente se la licenza può essere cancellata, aggiunta o modificata nel modo in cui sembra stia descrivendo. Se le licenze devono essere sostituite o modificate in qualche modo dopo l'installazione, potrebbe essere meglio scriverle in un file. Tuttavia, di solito non consiglio di scrivere alcun tipo di file o dati critici come quello sul desktop. Probabilmente lo scriverei in una cartella contenuta in una directory dell'applicazione stessa. Includilo nell'installazione dell'applicazione se è necessario.

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