what does the "/i" do for msiexec.exe in your new installation?? And the reason I was saying that it still wasn't working for me is because I did this:

Code:
;COPY MYSQL ODBC DRIVERS TO TARGET SYSTEM SO THEY CAN WRITE TO THE DATABASE
DIM $sourcepath,$connkey,$regkey,$x
$sourcepath= "\\gjlk2w2ws101\SoftwarePushes\sms\"
$connkey = "HKCU\Software\ODBC\ODBC.INI\"
$driver = "%windir%\System32\myodbc3.dll"
$regkey = "HKLM\Software\ODBC\ODBCINST.INI\MySQL ODBC 3.51 Driver"
IF @ERROR <> 0
"@ERROR: @SERROR"
ENDIF
Sleep 2

IF NOT Exist("%windir%\system32\myodbc3.dll")
COPY $sourcepath+"myodbc3.dll" "%windir%\system32\myodbc3.dll"
ENDIF

IF NOT Exist("%windir%\help\my3dsn.hlp")
COPY $sourcepath+"my3dsn.hlp" "%windir%\help\my3dsn.hlp"
ENDIF

IF NOT Exist("%windir%\system32\myodbc3s.dll")
COPY $sourcepath+"myodbc3s.dll" "%windir%\system32\myodbc3s.dll"
ENDIF

IF ReadValue("HKLM\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers","MySQL ODBC 3.51 Driver")<>"Installed"
$x=WriteValue("HKLM\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers","MySQL ODBC 3.51 Driver","Installed","REG_SZ")
ENDIF

IF ReadValue($regkey,"UsageCount")<>12
$x=WriteValue($regkey,"UsageCount",12,"REG_DWORD")
ENDIF

IF ReadValue($regkey,"Driver")<>"%windir%\System32\myodbc3.dll"
$x=WriteValue($regkey,"Driver","%windir%\System32\myodbc3.dll","REG_SZ")
ENDIF

IF ReadValue($regkey,"Setup")<>"%windir%\System32\myodbc3.dll"
$x=WriteValue($regkey,"Setup","%windir%\System32\myodbc3.dll","REG_SZ")
ENDIF

IF ReadValue($regkey,"APILevel")<>2
$x=WriteValue($regkey,"APILevel",2,"REG_SZ")
ENDIF

IF ReadValue($regkey,"ConnectFunctions")<>"YYN"
$x=WriteValue($regkey,"ConnectFunctions","YYN","REG_SZ")
ENDIF

IF ReadValue($regkey,"DriverODBCVer")<>"03.51"
$x=WriteValue($regkey,"DriverODBCVer","03.51","REG_SZ")
ENDIF

IF ReadValue($regkey,"FileUsage")<>0
$x=WriteValue($regkey,"FileUsage",0,"REG_SZ")
ENDIF

IF ReadValue($regkey,"FileExtns")<>"*.txt"
$x=WriteValue($regkey,"FileExtns","*.txt","REG_SZ")
ENDIF

IF ReadValue($regkey,"SQLLevel")<>1
$x=WriteValue($regkey,"SQLLevel",1,"REG_SZ")
ENDIF

IF ReadValue($regkey,"CPTimeout")<>60
$x=WriteValue($regkey,"CPTimeout",60,"REG_SZ")
ENDIF

IF ReadValue($regkey,"DNSHelpFile")<>"%windir%\help\my3dsn.hlp"
$x=WriteValue($regkey,"DNSHelpFile","%windir%\help\my3dsn.hlp","REG_SZ")
ENDIF

IF ReadValue("HKLM\Software\ODBC\ODBCINST.INI\ODBC Core","UsageCount")<>1
$x=WriteValue("HKLM\Software\ODBC\ODBCINST.INI\ODBC Core","UsageCount",1,"REG_DWORD")
ENDIF

Sleep 2



...I ran this code AFTER I uninstalled the msi installation. And after I uninstalled it, it didn't work AND after I ran this file my script didn't work and it's copying the files over correctly and creating the appropriate registry keys. That's why I was saying that I was going to look at the odbc.msi installation with a snapshot viewer to see if I could find what I was missing that was causing this script not to work correctly.