Programación General > Visual Basic 6.0 e inferiores
Instalacion Segura Igual A Office
_EL_DJ_LU:
Hola como les decia en mensajes anteriores... estoy a punto de vender mi programa... bueno mejor dicho instalacines de mi programa...
Bueno lo que queria sabes es como puedo hacer que mi programa despues de instalado solo funcione en esa maquina...osea si copian la carpeta de mi programa a otra PCB que esta no funcione en dicha segunda PCB... De la misma forma que pasa con Office... por que cuando lo instalas en un PcA... y luego copias solo la carpeta a otra PcB .. en esta PcB no funciona... sale un mensaje de error que dice:
"El sistema operativo no esta configurado para ejecutar esta aplicacion"
Bueno quiero que algo parecido pase con mi programa... por que yo vendere el programa y ire a instalar maquina por maquina... es decir no les vendere el instalador.... bueno esto para que no me pirateen el programa..... se que sera un poco dificil... pero que me de el tiempo suficiente para recuperar un poco de dinero ..... jejeje
Muchas gracias por su ayuda amigos de SOLOCODIGO... gracias a usteds pude terminar mi programa... jeje ;)
DJ
RadicalEd:
TIENES MUCHAS PERO MUCHAS, MUCHAS.
DIJE MUCHAS :blink:
OPCIONES.
1.) UTILIZA EL REGISTRO PARA GUARDAR VALORES EN ESTA MAQUINA.
2.) UTILIZA dll EN LA PCA, PARA QUE SOLO FUNCIONE EN ESA.
3.) UTILIZA ARCHIVOS QUE LO PRIMERO QUE VA HACER TU PROGRAMA ES LEERLOS SINO ESTAN EN LA PCA, TONCES NO SIRVE
4.) UTILIZA UN PRIMER EJECUTABLE PARA QUE GUARDE TODOS LOS VALORES DE ESTOS ARCHIVOS
Y SI NO?
SORRY MAN ;)
Cyclop:
Lo que puedes hacer es crear archivos sentinelas, y cada vez que entres a tu programa buscar esos archivos si no lo encuentra es porque copio tu programa en otra pc, pero el problema es que se puede monitorear con otro tipo de aplicacion y asi copiarian ese archivo que esta en la maquina original.
Otra opcion es que tu al instalar el programa en la pc de tu cliente corras un programa aparte para que te copie la serial del disco duro en la parte final de tu programa exe encriptado si es posible, cada vez que entres a tu programa comparar la serial almacenada en tu programa con la del HDD.
Suerte
Cyclop
_EL_DJ_LU:
Justo habia escuchado algo de eso... de copiar la serie.. ya sea de procesador o del disco duro...
Serias tan amable de decirme como hago eso...??'
y a que te refieres con eso de poner en la parte final de mi exe... podrias explicarme eso plz...
Muchas gracias amigos...
DJ
Cyclop:
A ver si me dejo explicar bien
Esto va en el programa Parchador
--- Código: Text ---Private Declare Function GetVolumeInformation& Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal pVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) Private Sub cmdParche_Click() Dim cad1 As String * 255 Dim cad2 As String * 255 Dim numSerie As Long Dim longitud As Long Dim flag As Long unidad = "C:\" Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud,flag, cad2,255) numSerie = Trim(Replace(numSerie, Chr(0), "")) Open "Programa.Exe" For Binary As #1 sId = Space(2) Get #1, LOF(1)-2, sId If sId <> "id" Then numSerie = Trim(numserie) sBuffer$ = numSerie + Chr(Len(numSerie)) + "id" Put #1, LOF(1) + 1, sBuffer$ Else MsgBox "La aplicacion ya fue parchada" Endif Close #1End Sub
Esto va en tu Aplicacion de Venta
--- Código: Text ---Private Sub Form_Load() Dim cad1 As String * 255 Dim cad2 As String * 255 Dim numSerie As Long Dim longitud As Long Dim flag As Long unidad = "C:\" Call GetVolumeInformation(unidad, cad1, 255, numSerie, longitud,flag, cad2,255) numSerie = Trim(Replace(numSerie, Chr(0), "")) Open "Programa.Exe" For Binary As #1 sSerie = "" sId = Space(2) Get #1, LOF(1)-2, sId If sId = "id" Then sLen = Space(1) Get #1, LOF(1)-3, sLen nLen = Asc(sLen) sSerie = Space(nLen) Get #1, LOF(1)-(nLen + 3), sSerie Endif Close #1 If sSerie = numSerie Then ' Es correcto la copia Else MsgBox "Copia no valida ... por favor cosulte con su proveedor de sistema juasss XP" End EndIfEnd Sub
Pd. Esta rutina ahun no fue testeado ... por lo que puede contener algun error de sintaxis o de logica de programacion.
Salu2
Cyclop
Navegación
[#] Página Siguiente
Ir a la versión completa