Newsgroup: it.comp.lang.visual-basic
Titolo: ActiveX su app.path

Finalmente ho fatto la mia dll activex!!!!!!!!!!
E vai!!!!
Perņ ho ancora una cosa da chiedervi.
Quando creao il pacchetto di installazione della mia applicazione che usa la
DLL, vorrei che la stessa dll fosse parte SOLO dell'exe e non deve essere
condivisa
Io durante la creazione del pacchetto installazione e precisamente al
momento di definire "Posizioni di Installazione" imposto come posizione
$(AppPath).
Basta questo o devo fare altro???
Praticamente non voglio che la mia dll sia registrata nel registro di
sistema, vorrei che sia un file (Es.: una file EXE che viene shellato dal
mio exe prinipale) senza lasciare traccia!!!
Spero di essere stato chiaro..
Grazie
~~~~~~~~~~~~~~~~
Andrea Fabbrucci
anfa...@tin.it
~~~~~~~~~~~~~~~~

 Spero di essere stato chiaro..
Spero di non aver capito male... Hai fatto una DLL e non vuoi che si veda
(capisco i motivi ;-))) ), ma allora perchč non hai messo tutto in un modulo
BAS del tuo progetto in modo che faccia parte dell'EXE? Certo, in questo
modo, se hai piů progetti, devi includere il BAS in ogni progetto, ma ...
risolvi.

 nasconde il menu inventario)
Io uso i flags in un file camuffato e protetto. Distribuisco sempre tutto il
mio unico applicativo, uguale per tutti. Certo, la protezion puň essere
bypassata, ho fatto un topic apposta per trovare soluzioni alternative), ma
ti chiedo, se io, Paperino, vado da Zio Paperone (chje essendo ricchi ha
acquistato tutto) e gli prendo la DLL?

 acquistato tutto) e gli prendo la DLL?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:mVIL8.11395$K4.2...@twister2.libero.it...

Ammazza!!!!! Prima di tutto deve essere registrata sul sistema!
Se poi il mio cliente riesce a copiare la dll sul suo pc, nella cartella
giusta (e questo č fattibile), smanettare sui flag per abilitare cmq la dll
copiata (e questo lo vendo un po' dificiletto), e infine registrare la
dll!!! Complimenti!!!!!
A questo punto potrei dirti che gli faccio chiudere la sua attivita e lo
assumo come programmatore nella mia (dopo avergli fatto un corso di vb!
;-) )

 (dopo avergli fatto un corso di vb! ;-) )
6 o .Net ?
:-))
Alberto

 ;-) )
No, è molto più semplice di quanto pensi: Immagina di spedire un CD di
aggiornamento a un cliente regolarmente autorizzato, oppure di diffondere
dei CD demo o, addirittura, di mettere il pacchetto completo pronto per il
download da un sito, vuoi per nuovi clienti potenziali o per l'aggiornamento
di quelli già acquisiti.
Non penso che farai versioni diverse a seconda della destinazione e/o
dell'uso, nè che tu possa controllare dove veramente finiscono i CD e come
vengono duplicati/diffusi/riciclati i CD e gli eventuali downloads.
Pensa anche alle difficoltà tue di gestione nel mantenere il tutto.
Io ho scelto la strada di avere un unico applicativo (certo, sono più EXE,
ma il pacchetto è quello) identico per tutti. Poi (anche telefonicamente)
attivo le abilitazioni/moduli che ogni cliente mi paga.
Pensaci, poi, ovviamente, fai le tue scelte.

 Pensaci, poi, ovviamente, fai le tue scelte.
C'č stato recentemente un bel thread sull'argomento.
Alla fine piů o meno tutti d'accordo su questa soluzione, ossia un bel file
con un codice che in qualche modo dipenda dal numero seriale dell'HD, del
S.O., ecc...
Alla prima attivazione, il sistema visualizza un codice, il cliente telefona
alla software house, che con un tool banalissimo genera il codice
definitivo. Il cliente inserisce il codice ricevuto, che viene memorizzato
in un file. All'avvio successivo, non viene richiesto nessun codice, e tutto
va via liscio.
Per attivare o meno determinate funzioni basta che il codice definitivo
contenga anche una chiave composta da flag.
Ciao
Alberto

 ha scritto nel messaggio
news:ado0hf$rto$1...@newsreader.mailgate.org...


 qualcuno può mandarmi del codice di esempio????
Vedi nei vecchi post:
http://groups.google.it/groups?hl=it&lr=&q=seriale+hd&meta=group%3Dit.comp.l
ang.visual-basic

Ho trovato qualcosa per avere il serial dell'hd
Ora mi domando:
devo cmq compilare ogni exe con il seriale HD del cliente per essere sicuro
che lo adoperi solo lui? Oppure avete in mente un'altro sistema?
Non trovo una soluzione!!! L'idea è buona perché il PC del cliente fornisce
un data (il seriale) che non conosce, ma come faccio a conoscerlo io vado
dal cliente e guardo un un prog stupito il suo seriale?
Delucidatemi please!!!
Ciao

Ragazzi per vedere il serial dell'HD Ho trovato questo
===BEGIN===
Private Declare Function GetVolumeInformation Lib "kernel32" _
        Alias "GetVolumeInformationA" ( _
         ByVal lpRootPathName As String, _
         ByVal lpVolumeNameBuffer As String, _
         ByVal nVolumeNameSize As Long, _
               lpVolumeSerialNumber As Long, _
               lpMaximumComponentLength As Long, _
               lpFileSystemFlags As Long, _
         ByVal lpFileSystemNameBuffer As String, _
         ByVal nFileSystemNameSize As Long) As Long
Private Function GetDiskSerialNumber() As String
Dim FileSystemNameBuffer As String, VolumeNameBuffer As String
Dim Length As String, m_SerialNumber As String
Dim VolumeSerialNumber As Long, MaximumComponentLength As Long,
FileSystemFlags As Long, X As Long
VolumeNameBuffer = String$(512, 0)
FileSystemNameBuffer = VolumeNameBuffer
X = GetVolumeInformation("C:\", VolumeNameBuffer, Len(VolumeNameBuffer),
VolumeSerialNumber, MaximumComponentLength, FileSystemFlags,
FileSystemNameBuffer, Len(FileSystemNameBuffer))
Length = InStr(VolumeNameBuffer, Chr$(0))
m_SerialNumber = Right$("00000000" & Hex$(VolumeSerialNumber), 8)
m_SerialNumber = Left$(m_SerialNumber, 4) & "-" & Right$(m_SerialNumber, 4)
GetDiskSerialNumber = m_SerialNumber
End Function
===END===
Ma secondo me questa funzione ritorna il serial che cambia ad ogni
formattazione e non quello della casa!
qual'è quello giusto?
Grazie...


 ha scritto nel messaggio
news:yd0M8.14809$5i1.5...@news2.tin.it...

In fase di abilitazione la tua procedura rileva le informazioni che
interessano per "identificare" in modo il più possibile univoco
l'installazione e/o la specifica macchina (per esempio il seria number
dall'HD, se c'è...), aggiunge eventuali parametri (opzioni abilitate), le
camuffa come vuoi e le deposita dove vuoi. Il tuo programma applicativo in
fase di esecuzione (qui e là) dovrà "solo" verificare che tutto quadri con
l'ambiente e che le tue info siano integre, oltre che congruenti col
sistema.

 Delucidatemi please!!!
Riposto un mio vecchio post:
Io faccio così:
All'avvio, l'applicativo legge dei parametri del sistema in cui è
installato, ad esempio il serial dell'HD.
Esegue un qualunque algoritmo di checksum, e trova un codice X
Quindi legge da un file allegato all'applicativo una stringa, che sottoposta
ad un altro algoritmo di checksum ritorna un codice Y.
Se X=Y, l'applicativo parte.
Se X<>Y, viene visualizzato un codice, che deve essere indicato alla mia
società, e che inserito in un semplice programmino di checksum, mi
restituisce un altro codice, che comunico al cliente.
Inserendo questo codice nella schermata di avvio, dove nel frattempo
l'applicativo era rimasto fermo, l'applicativo scrive nel file la stringa
che, all'avvio successivo, farà funzionare il giochetto X=Y.
Vantaggi:
Copiando l'applicativo, anche allegando il file dove si trova la stringa di
attivazione, il programma non parte, visto che X è ottenuto con parametri
del sistema
Svantaggi:
Il cliente deve telefonare in ditta e dettare il codice ricevuto.
Tieni presente che, siccome io sviluppo applicativi su specifica richiesta
del cliente, è lo stesso cliente, spesso, che mi chiede una cosa del genere,
per evitare che qualcuno possa copiare il sw e passarlo ad un concorrente. A
volte, installo il programmino di checksum (diverso per ogni applicativo),
direttamente nel PC del capoCED o del Direttore, in modo che siano
indipendenti nell'installazione, ma che il dipendente non possa trovare il
programmino di checksum (ovviamente non presente sul CD di setup).
Ciao
Alberto