Newsgroup: it.comp.lang.visual-basic
Titolo: [SIGH]  Quando il prog dovra' andare su USB

Quando al giorno d'oggi un vostro programma,
che fino ad ora avete venduto legandolo con un numero
alla macchina di destinazione,
vi viene richiesto di poter essere acquistato per essere installato
su una chiave USB (o altri supporti removibili)
come vi regolate?
Il mio utente poi lo userà su 20 e più computer
(è un professore che insegna in diverse classi).
Vi rifiutate? Fate pagare di più? Quanto?
Fate un conteggio delle macchine riconosciute ad ogni avvio
e lo mettete criptato su un file testuale che poi giocoforza deve stare
sulla stessa USB?
(Al di là delle tecniche anti-clonazione della chiavetta USB
con il software sopra, che uno sviluppatore vorrebbe adottare 
per non far diffondere il relativo file immagine in tutta Italia
che... purtroppo non ci sono !)
Insomma sono problematiche nuove 
che oggi non possono non essere affrontate.
Voi come fate?
Mi arrivano sempre più questo tipo di richieste.
PS:
ma poi se un utente deve riformattare la USB?
--------
Quetione parzialmente posta qualche tempo fa.
-------

 come vi regolate?
Detta così, se non c'è riuscita Microsoft con il suo sistema di 
certificazione di XP, dubito che ci passa riuscire tu :)
Gli vendi una licenza personale e "ti fidi".
Magari legandolo appunto alle informazioni della chiavetta, cioè, ti fai un 
programmino che distribuisci il cui compito è reperire le informazioni 
reperibili della chiavetta, te le fai mandare, compili il prog con queste 
info e lo distribuisci.
Sistema che tutto sommato potrebbe funzionare se non si avesse a che fare 
con degli italiani :)
Ciao

Si se una chiavetta USB, un MP3 o altri piccoli supporti
simili sono clonabili o ci si possono are immagini o simili ?
Perche se ne può fare una immagine o un clone ecc
con sopra il programma che gira normalemte, 
poi 
tale immagine o clone lo si schiaffa su un CD da 0,3 Euro 
ed il programma funziona, data l'irrisoria spesa,
se ne possono riprodurre (ed al limite rivendere a mia insaputa)
quante copie se ne vuole di questo CD funzionante, 
o no ?!?!?! 
Hai dei link pronti su come poter prendere informazioni 
HW da chiavi USB e roba simile via VB6 ?

 come vi regolate?
Ciao,
non so cosa tu intendi con "numero
alla macchina di destinazione" (io in passato avevo usato il seriale del
disco), ma puoi considerare l'uso del mac address di una delle schede di
rete del pc.
Ormai tutti i pc recenti hanno almeno una scheda di rete (i portatili anche
due con quella wireless) e indipendentemente dal supporto di memorizzazione
fisico dell'eseguibile (disco c, d o altre unità rimovibili) il mac address
non cambia.
Ciao
-- 
Stefano "HappyMan"
http://www.sgr.info

 non cambia.
Ma che senso ha fissarsi sull'hd dwl PC quando il programma nasce proprio 
per essere trasportato su chiave usb?
Ciao 

Riscrivo il post che aveva diversi errori ortografici:
Sai se una chiavetta USB, un MP3 o altri piccoli supporti
simili sono clonabili o ci si possono fare immagini o simili ?
Perche se se ne può fare una immagine o un clone ecc.




Bhè, dai, può essere una idea,
non ci avevo mai pensato bene, 
ma mi sembrerebbe una cosa buona:
l'utente mi dà il MAC address (criptato o meno)
di TUTTE le macchine su cui vuole attaccare la chiavetta USB
certo significa che deve lavorare un po',
ma se vuole la comoda soluzione della chiavetta 
anche lui deve venire incontro,
(poi magari gli sconto qualche licenza se ha un numero alto di macchine)
ed il programma gira solo se riconosce il MAC address amico.
Mi sembrea fattibile.
Vado ad esporre qualche domanda tecnica a Stefano Happy Man



Ciao,
non ci avevo pensato fino ad ora 
(il fatto delle chiavette mi si sta presentando solo in questi tempi),
mi sembra che possa essere la soluzione risolutiva:
ho delle domande tecniche a riguardo:
- il MAC lo ricavano anche le API di VB5 (oltre a VB6)?
- il MAC è ricavabile da tutti gli os,
Win 95,08,Me,2000,2003,XP home e Pro ?
- se l'utente reinstalla il sistema operativo di una macchina, poi
tale MAC cambia (come succede per il numero di volume dell HardDisk)?
- aggiungendo nel frattempo una scheda di rete aggiuntiva, poi tale MAC
address, cambia o "scala" , cioè passa alla scheda nuvova ed il vecchio ne
ottiene uno nuovo?
- io non l'ho mai fatto, sai se se ci sono problemi in genere che 
possano emergere :
 (sia dal punto di vista del codice da implementare per ricavarlo,
es: occorrono delle dll o delle versioni di esse presenti sul PC target;
sia dal punto di vista del PC target, cioè se cambia qualche configurazione
hardware/software, il riconoscimento del MAC amico salta?
-hai del codice buono e affidabile che posso usare sin da subito
(avrei una richiesta per 20 PC di aule scolastiche, mi seccherebbe perdere
l'opportunità)  
- varie ed eventuali    :-)
Grazie
 

 Mi sembrea fattibile.
a me sembra improponibile e un casino per te da gestire, comunque se a te va 
bene e lui accetta... :)
Ciao 

 per essere trasportato su chiave usb?
Il programma rimane trasportabile, addirittura io che programmo anche in
C++ e Win32 posso creare applicazioni che non richiedono l'installazione,
però alla partenza verificano se il pc al quale è stata collegata la chiave
è un pc con "licenza".
Del resto se si vuole limitare e/o controllare in qualche modo l'esecuzione
di un programma qualche compromesso lo devi accettare :-)
Ciao
-- 
Stefano "HappyMan"
http://www.thepoint.info
E-Shop Software

 Grazie
Prego :-)


di un programma qualche compromesso lo devi accettare :-)
diciamo che quella offerta dal MAC è una verifica
più stabile di quella data dal numero di volume dell hard-disk che con una
reinstallazione di Windows o al cambio di partizione (pur essendo sullo
stesso disco) salta;
--------------
rimane il fatto che per chi vuole installare un programma
solo su chiave USB, sarebbe molto meglio identificare in maniera univoca
quella chiavetta, invece di andare a richiedere il MAC o il numero del
volume dell' harddisk di tutti i PC dove andrà ad infilare la chiavetta...
-------------
adesso gogglo un po' per trovare qualche API che ricavi informazioni
sullla periferica attaccata in quel momento alla porta USB
(spero di trovare informazioni che lo identifichino in maniera univoca)
-------------
(!!! a metà discorso chiedo un aiuto !!!)
poi siccome probabilmente in un determinato momento vi possono essere più
periferiche attaccate alle porte USB,
occorrerà far determinare dall'eseguibile in esecuzione sullla chiave USB,
in che volume logico di Windows si trova tale il file .exe, 
ricavare il numero (ID, nome...?) di porta USB relativa a quel 
volume ( !!! questo mi manca !!! ),
e, tra tutte le periferiche attaccate, ricavare le informazioni relative
solo al disapositivo attaccato a quel determinato numero di porta;
più o meno ...   

 volume dell' harddisk di tutti i PC dove andrà ad infilare la chiavetta...
un dubbio. la sd della nikon quando scaricavo le immagini mi dava un 
messaggio d'errore tipo
"impossibile scrivere su /device/harddisk N", come se ci fosse la linguetta 
di sicurezza girata.
dopo avere cercato un po', ho risolto formattandola 2-3 volte con la 
"formattazione completa" della macchina. i suggerimenti in genere dicevano 
di formattare a basso livello.
se cambia l'id del disco fisso, in casi simili ho il dubbio che cambi anche 
quello del supporto usb.
a parte la bassa affidabilita' delle chiavette, per cui uno magari la 
cambia.
ciao, a.

cambia.
Cosa intendi con l'  id  del disco fisso  
e  l'   id    della chiave usb?
Io conosco il  'volume serial number'  di un hard-disk
che č un numero logico che viene assegnato da Windows
Esso VARIA  con le reinstallazioni di Windows o formattazioni del
disco _ o della partizione se esso č suddiviso in partizioni _ 
Per la Usb sto leggendo in internet che ci sono:
il   'vendor id'    il    'product  id'   
e opzionalmente se la ditta vuole scriverli:
il   'manufacturer'  ,   'product'    e   'serial number' 
(quest'ultitmo puň essere anche lettere e non solo numeri)
Tutti questi NON  VARIANO con la "formattazione completa" effettuata da
Windows.
E questi della Usb  non sono il  'volume serial number'
che pure esso c'č sempre (almeno per i dispositivi usb che
sono memorie di messa) e che come detto sopra viene
assegnato da Windows e VARIA nelle evenienze dette sopra.
DOMANDA:
mi sto chiedendo se una clonazione di una chiavetta Usb
mettiamo fatto il pů profondamente possibile 
(ad es. con Norton Image Drive) 
ne copi anche il  'volume serial number' 
ed 
un riversamento di tale immagine su un altra chiavetta Usb
faccia sě che questa seconda chiavetta abbia lo stesso  'Volume Serial
Number' della prima
e 
quando sono attaccte tutte e due queste chiavette 
con stesso 'Volume serial number'
non si creino problemi per Windows
Proverei, 
ma non ho un programma di  image  piccolo da installare,
(Norton non lo metto su neanche sotto tortura)