Crear archivo de instalación

Juan
05 de Julio del 2004
Hola, mi problema es que necesito que durante la instalación de mi programa se cree un origen de datos ODBC en windows que luego utilizará mi programa para acceder a una base de datos. Como podría hacerlo?, no se que programa utilizar para crear el archivo de instalación, como puedo hacer todo esto?
Muchas gracias.

sdemingo
05 de Julio del 2004
Hola,

mmm yo hice algo así...

Utiliza el setup factory para hacer tu instalador de la aplicación, bd, mdac, etc...

Luego, en el setup factory le puedes decir que ejecute algún programa al acabar la instalación, entonces le dices que ejecute un programa que hayas hecho tu en el que creas la conexión ODBC en VB.

Espero que te sirva, a mi me funcionó

salu2
sdemingo

Juan
05 de Julio del 2004
Muchas gracias, pero no se como crear el origen de datos desde visual basic, yo lo hago siempre a mano, si me puedes indicar como hacerlo te lo agradecería mucho.
gracias.

sdemingo
05 de Julio del 2004
Ejemplo paso a paso
Inicie un Nuevo proyecto.
En la ficha Avanzado del cuadro de diálogo Opciones en el menú Herramientas, establezca un Argumento de Compilación condicional que se denomina WIN32 igual que 1 si utiliza 32 bits Visual Basic 4.0 o 0 si utiliza Visual Basic 4.0 de 16 bits.
Agregue dos CommandButtons al formulario predeterminado.
Agregue el código siguiente al General Declarations: Option Explicit

'Constant Declaration
Private Const ODBC_ADD_DSN = 1 ' Add data source
Private Const ODBC_CONFIG_DSN = 2 ' Configure (edit) data source
Private Const ODBC_REMOVE_DSN = 3 ' Remove data source
Private Const vbAPINull As Long = 0& ' NULL Pointer

'Function Declare
#If WIN32 Then

Private Declare Function SQLConfigDataSource Lib "ODBCCP32.DLL" _
(ByVal hwndParent As Long, ByVal fRequest As Long, _
ByVal lpszDriver As String, ByVal lpszAttributes As String) _
As Long
#Else
Private Declare Function SQLConfigDataSource Lib "ODBCINST.DLL" _
(ByVal hwndParent As Integer, ByVal fRequest As Integer, ByVal _
lpszDriver As String, ByVal lpszAttributes As String) As Integer
#End If

Agregue el código siguiente al evento Click de Comando1: #If WIN32 Then
Dim intRet As Long
#Else
Dim intRet As Integer
#End If
Dim strDriver As String
Dim strAttributes As String

'Set the driver to SQL Server because it is most common.
strDriver = "SQL Server"
'Set the attributes delimited by null.
'See driver documentation for a complete
'list of supported attributes.
strAttributes = "SERVER=SomeServer" & Chr$(0)
strAttributes = strAttributes & "DESCRIPTION=Temp DSN" & Chr$(0)
strAttributes = strAttributes & "DSN=DSN_TEMP" & Chr$(0)
strAttributes = strAttributes & "DATABASE=pubs" & Chr$(0)
'To show dialog, use Form1.Hwnd instead of vbAPINull.
intRet = SQLConfigDataSource(vbAPINull, ODBC_ADD_DSN, _
strDriver, strAttributes)
If intRet Then
MsgBox "DSN Created"
Else
MsgBox "Create Failed"
End If

Agregue el código siguiente al evento Click de Comando2: #If WIN32 Then
Dim intRet As Long
#Else
Dim intRet As Integer
#End If
Dim strDriver As String
Dim strAttributes As String

'Set the driver to SQL Server because most common.
strDriver = "SQL Server"
'Set the attributes delimited by null.
'See driver documentation for a complete list of attributes.
strAttributes = "DSN=DSN_TEMP" & Chr$(0)
'To show dialog, use Form1.Hwnd instead of vbAPINull.
intRet = SQLConfigDataSource(vbAPINull, ODBC_REMOVE_DSN, _
strDriver, strAttributes)
If intRet Then
MsgBox "DSN Deleted"
Else
MsgBox "Delete Failed"
End If

Ejecute el proyecto.
Haga clic en Comando1 para agregar un DSN que se denomina DSN_TEMP.
Haga clic en Comando2 para quitar el DSN que se denomina DSN_TEMP.