After upgrading 500 clients from 6.2.4 to 6.2.6 most everyone lost their SendSLX button. i had to release a quick fix. I know Sage had provided a .bat fix that doesn't always do the trick so this is what i came up with. Users can repair it themselves by running the EXE from the network using the following AutoIt code compiled to exe.
All you need to do is install AutoIt v3, paste the following code in a new .au3 file, modify the $Password variable, and modify the $file (Logfile) path. Build as EXE and distribute a link to the users after testing.
; AutoIt Version: 3.0
; Language: English
; Platform: WinXP - SMART\Wholesale image
; Author: David Henry (email@example.com)
; Orig. Build 10-17-2006
; EXE location:
; Script Function:
; To repair missing SENDSLX button
; Copies slmn.dll to system32 folder, closes Outlook, re-registers Outlook integration dll's.
; Version 1.0 10-17-2006 Original Build
; Version 1.1 3-1-2007 Elevated privlages only for registering DLL steps. Otherwise script may fail.
; Added version number to log file.
; Verify only one copy of the script is running at a time.
$g_szVersion = "RepairMissingSENDSLXbutton"
If WinExists($g_szVersion) Then Exit
$SalesLogixDirectory = @ProgramFilesDir & "\SalesLogix\"
$Password = "LocalAdminPassword"
$MissingSendSLXVersion = "Version 1.1"
; Prompt the user to run the script - use a Yes/No prompt
$answer = MsgBox(4, "Repair Missing SENDSLX button", "This script will attempt to repair your missing SENDSLX button. PLEASE CLOSE OUTLOOK AND SALESLOGIX BEFORE CLICKING YES! Are you ready?")
If $answer = 7 Then
FileCopy( $SalesLogixDirectory & "slmn.dll", @SystemDir)
RunAsSet( "Administrator", @ComputerName, $Password, 1)
RunWait(@ComSpec & " /c regsvr32 slxab32.dll", $SalesLogixDirectory, @SW_MAXIMIZE)
RunWait(@ComSpec & " /c regsvr32 slmn.dll", $SalesLogixDirectory, @SW_MAXIMIZE)
; Instruct user to see if SENDSLX button is available.
MsgBox(4096, "Complete!", "Open Outlook and check to see if you are now able to see the SENDSLX button. If not, REBOOT and try running the script again.")
$file = FileOpen("\\servername\sharename\Script_Logs\Repair Missing SENDSLX button.txt", 9)
If $file = 1 Then
FileWrite($file, @MON & "/" & @MDAY & "/" & @YEAR & @TAB & @HOUR & ":" & @MIN & @TAB & $MissingSendSLXVersion & @TAB & @ComputerName & @TAB & @UserName & @CRLF)
AutoIt is a freeware Windows automation language. It can be used to script most simple Windows-based tasks (great for PC rollouts or home automation). AutoIt can be downloaded from it's website http://www.autoitscript.com/