Hola revisé el codigo, y no encontré ningun probleme. en mi PC lo corre perfecto, y copie el codigo desde este post, por si las dudas.
Te recomiendo que chekes si tienes la ultima version de AutoIt, y que vuelvas a copiar el codigo del post.
Código: Seleccionar todo
    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_icon=Icono.ico
    #AutoIt3Wrapper_Res_Comment=Persiguiendo el saber!
    #AutoIt3Wrapper_Res_Description=Adjunta archivos en AutoIt
    #AutoIt3Wrapper_Res_Fileversion=1.0.0.5
    #AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
    #AutoIt3Wrapper_Res_LegalCopyright=Ruperto 2008
    #AutoIt3Wrapper_Res_Language=2058
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include <Misc.au3>
    #include <String.au3>
    #include <File.au3>
    $Version = "FileInstallator v1"
    #Region ;Creando la interfaz grafica
    $Utilidades = GUICreate("Utilidades",300,200,-1,-1)
    Global $Error = 0,  $N
    $Principal = GUICreate("FileInstallator 1.0 By: Ruperto",500,400,-1,-1)
    $optTodoEnLaCarpeta = GUICtrlCreateRadio("Todos los archivos de una Carpeta",54,5)
    GUICtrlSetState(-1,$GUI_CHECKED)
    $optVariosArhivos = GUICtrlCreateRadio("Seleccionar Algunos archivos",250,5)
    GUICtrlCreateLabel("Ruta:",10,30)
    $txtRuta = GUICtrlCreateInput("",54,28,359)
    $cmdSelRec = GUICtrlCreateButton("···",415,27,20,23)
    $cmdRefrescar = GUICtrlCreateButton("Refrescar",435,27,55,23)
    GUICtrlCreateLabel("Destino:",10,55)
    $txtDestino = GUICtrlCreateInput("C:\MiPortable",55,53,358)
    $cmdSelDest = GUICtrlCreateButton("...",415,52,20,23)
    $cmdAyudaDest = GUICtrlCreateButton("Ayuda",435,52,55,23)
    $chkIncSub = GUICtrlCreateCheckbox("Incluir Subdirectorios",54,81)
    GUICtrlCreateLabel("Usar este Filtro:",198,85)
    $txtFiltro = GUICtrlCreateInput("(*.*) Cualquier Archivo",284,82,105)
    $Ayuda = GUICtrlCreateButton("?",390,81,24,23)
    $cmdUtilidades = GUICtrlCreateButton("+ Utilidades",416,81,70,23)
    $Obtener = GUICtrlCreateButton("Obtener Archivos",10,105,480,40)
    $txtCodigo = GUICtrlCreateEdit("",10,150,480,210)
    $cmdAbout = GUICtrlCreateButton("Acerca de...",10,370)
    $cmdSelTodo = GUICtrlCreateButton("Seleccionar todo",220,370)
    $cmdLimpiar = GUICtrlCreateButton("Limpiar",320,370)
    $cmdGenerarAu3 = GUICtrlCreateButton("Generar archivo .au3",370,370,122)
    GUISetState(@SW_SHOW)
    #EndRegion
    While 1
       $Evento = GUIGetMsg()
       Switch $Evento
          Case $cmdAyudaDest ;Ayuda para el apartado destino
             MsgBox(64,"Ayuda","Tambien puede llenar este campo como en los siguientes Ejemplos: " & @CRLF & @CRLF & _
                "1· @WorkingDir & ""\Temp"" (Con una macro de AutoIt)" & @CRLF & _
                "2· $PortableDir & ""\MiPortable"" (Con una variable)" & @CRLF & _
                "3· C:\MiPortable (Simplemente con una ruta)","",$Principal)
          Case $Ayuda
             MsgBox(64,"Ayuda","Para usar un filtro multiple use ';' (Punto y Coma) como separador, Por ejemplo: " & @CRLF & _
                @CRLF & """(*.Exe;*.Txt) Ejecutables y de texto""" & @CRLF & @CRLF & _
                "Siempre es necesario que el Filtro vaya entre parentesis, y lo que esta fuera es comentario",0,$Principal)
          Case $GUI_EVENT_CLOSE ;Si quiere cerrar
             If WinActive($Principal) Then         
                If MsgBox(36,"¿Salir?","¿Desea cerrar ahora?","",$Principal)=6 Then
                   Exit
                EndIf
             ElseIf WinActive($Utilidades) Then
                GUISetState(@SW_HIDE,$Utilidades)
             EndIf
          Case $cmdSelDest ;Si quiere seleccionar el destino
             SelDir("Seleccione la carpeta de destino",$txtDestino)
          Case $cmdSelRec
             If BitAND(GUICtrlRead($optTodoEnLaCarpeta),$GUI_CHECKED) Then
                If SelDir("Seleccione la carpeta de los archivos que desea adjuntar",$txtRuta) = 1 Then
                   if (MsgBox(36,"Obtener archivos?","¿Desea obtener los archivos de este directorio ahora?",0,$Principal)) = 6 Then
                      if ValidarFiltro() = 1 Then ObtenerFiles(GUICtrlRead($txtRuta),GUICtrlRead($txtFiltro))
                   EndIf
                EndIf
             Else
                if ValidarFiltro() = 1 Then
                   $A = FileOpenDialog("Seleccione los archivos que desea adjuntar",@DesktopDir,GUICtrlRead($txtFiltro),4,"",$Principal)
                   GenerarCodigo($A)
                EndIf
             EndIf   
          Case $Obtener
             if ValidarFiltro() = 1 Then ObtenerFiles(GUICtrlRead($txtRuta),GUICtrlRead($txtFiltro))
          Case $cmdUtilidades
             Utilidades()
          Case $cmdSelTodo ;Seleccionar todo
             GUICtrlSetState ($txtCodigo,$GUI_FOCUS)
             Send("^{END}")
             Send("^+{HOME}")
          case $cmdLimpiar
             GUICtrlSetData($txtCodigo,"")
          Case $cmdGenerarAu3 ;Generrar el Archivo au3
             If GUICtrlRead($txtCodigo) = "" Then
                MsgBox(16,"Error!!","Por ahora no es posible generar el archivo au3, pues no ha adjuntado ningún archivo",0,$Principal)
             Else
                $RutaAu3 = FileSaveDialog("Guardar archivo au3","","(*.au3) Archivos de AutoIt v3",16,"",$Principal)
                if @error = 0 Then
                   $Ext = StringMid($RutaAu3,StringLen($RutaAu3) - 3,4)
                   If Not ($Ext = ".au3") Then $RutaAu3 = $RutaAu3 & ".au3"
                   $RutaAu3Open = FileOpen($RutaAu3,1)
                   FileWriteLine($RutaAu3Open,";********************************************")
                   FileWriteLine($RutaAu3Open,@CRLF & ";Archivo generado con FileInstallator v1.0" & @CRLF & ";Creado por Ruperto - [[email protected]]")
                   FileWriteLine($RutaAu3Open,";********************************************")
                   FileWrite($RutaAu3Open,@CRLF & GUICtrlRead($txtCodigo))
                   FileClose($RutaAu3Open)
                   ShellExecute($RutaAu3)
                EndIf
             EndIf
          Case $cmdAbout
             MsgBox(64,$Version,$Version & " Ha sido creado por Ruperto - [[email protected]]" & @CRLF & @CRLF & "                         AutoIt v3 - [http://www.autoit.au3]",0,$Principal)
       EndSwitch
    WEnd
    Func SelDir($Mensaje, $Control) ;Esta funcion selecciona un direcorio y lo escribe en un control - Esto nos ahorra 8 lines de codigo
       $sDir = FileSelectFolder($Mensaje,"",1,"",$Principal)
       if Not @error = 1 Then
          GUICtrlSetData($Control, $sDir)
          Return 1
       Else
          Return 0
       EndIf
    EndFunc
    Func GenerarCodigo($Files); Funcion que genera el codigo de los archivos seleccionados
    $ArregloDeArchivosSeleccionados = StringSplit($Files,"|") ;Separamos lo que retorna la funcion FileSaveDialog a un arreglo
    $Ruta = $ArregloDeArchivosSeleccionados[1] ;En la posicion 1, se encuentra la ruta de donde se selccionaron los Archivos
    GUICtrlSetData($txtRuta,$Ruta) ;Cambiamos el valor de la caja de texto $txtRuta
    For $i = 2 To $ArregloDeArchivosSeleccionados[0] ;Rrecorremos el arreglo de los archivos seleccionados
       $Archivo = $ArregloDeArchivosSeleccionados[$i] ;Asigamos el Archivos actual del arreglo a la vaiable $archivo
       If StringMid($Archivo,2,1) = ":" Then ;Si en la posicion 2 tiene 2 puntos(:) es por que seleccionó un acceso directo
          GUICtrlSetData($txtCodigo,GUICtrlRead($txtCodigo) & "FileInstall(""" & _
             $Archivo & """,""" & GUICtrlRead($txtDestino) & "\" & $Archivo & """)" & @CRLF)
       Else ;Por el contario fue un archivo cualquiera del directorio Actual
          GUICtrlSetData($txtCodigo,GUICtrlRead($txtCodigo) & "FileInstall(""" & _
             $Ruta & "\" & $Archivo & """,""" & GUICtrlRead($txtDestino) & "\" & $Archivo & """)" & @CRLF)
       EndIf
    Next
    EndFunc
    Func Files2Array($Dir, $Filtro = "(*)") ;la funcion FileListToArray modificada para que permita multiples filtros
       Local $hSearch, $sFile, $asFileList = _ArrayCreate(0), $Contador = 0
       $Filtro1 = _StringBetween($Filtro,"(",")") ;Obtenemos lo que está entre parentesis
       If Not (FileExists($Dir)) Then Return SetError(1, 1, "")
       $Exts = StringSplit($Filtro1[0], ";")
       For $i = 1 To $Exts[0]
          $Filtro = $Exts[$i]
          $hSearch = FileFindFirstFile($Dir & "\" & $Filtro)
          While 1
             $sFile = FileFindNextFile($hSearch)
             If @error Then
                SetError(0)
                ExitLoop
             EndIf
             If StringInStr(FileGetAttrib($Dir & "\" & $sFile), "D") = 0 Then
                _ArrayAdd($asFileList, $sFile)
                $Contador= $Contador+ 1
             EndIf
          WEnd
       Next
       FileClose($hSearch)
       _ArrayDelete($asFileList,0)
       If ($Contador = 0) Then $Error = 1
       If ($Contador <> 0) Then $Error = 0
       Return $asFileList
    EndFunc   ;==>Files2Array
    Func ObtenerFiles($Dir, $Filtro = "(*)") ;Obtiene archivos de un directorio, sin incluir subdirectorios
    if FileExists($Dir) Then
       If BitAND(GUICtrlRead($chkIncSub),$GUI_CHECKED) Then ;Si elijió incluir subDirectorios
          $Archivos = Files2Array($Dir ,$Filtro) ;listamos los archivos que existen en la ruta proporcionada
          If StringMid($Dir,StringLen($Dir),1) = "\" Then $Dir = StringTrimRight($Dir,1) ;Si incluye Diagonal inversa, se la quitamos (0_0)
          If $Error = 0 Then GenerarCodigoA($Archivos, $Dir) ;Si no provocó error la funcion File2Array
          $Carpetas = _FileListToArray($Dir,"*",2) ;Agragamos a un arreglo todas las carpetas de una ruta Seleccionada
          if Not @error = 1 Then ;Si la funcion anterior no produce error
             For $b = 1 to $Carpetas[0] ;Reccoremos el arreglo de las carpetas!
                $Ruta = $Dir & "\" & $Carpetas[$b]
                GUICtrlSetData($txtCodigo,GUICtrlRead($txtCodigo) & "DirCreate(" & ObtenerDestino() & "\" & ObtenerNombre($Ruta) & """)" & @CRLF)
                $Archivos = Files2Array($Ruta,$Filtro)
                $Pose = (0 - $b)
                ObtenerFiles($Ruta, $Filtro)
             Next
          EndIf
       Else ;si no quiere incluir subDirectorios
          $Archivos = Files2Array($Dir ,$Filtro)
          If $Error = 0 Then
             GenerarCodigoA($Archivos, $Dir)
          Else
             MsgBox(64,"Error!","No hay archivos que obtener de: " & @CRLF & $Dir,0,$Principal)
          EndIf
       EndIf      
    Else
       MsgBox(16,"Error!","No existe la ruta recurso que usted ha escrito",0,$Principal)
    EndIf
    EndFunc
    Func GenerarCodigoA($Archivoss, $Dir) ;
    If FileExists($Dir) Then
       If StringMid($Dir,StringLen($Dir),1) = "\" Then $Dir = StringTrimRight($Dir,1)
       $Destino = ObtenerDestino()
       For $i = 0 To UBound($Archivoss) - 1
          $Archivo = $Dir & "\" & $Archivoss[$i]
          GUICtrlSetData($txtCodigo,GUICtrlRead($txtCodigo) & "FileInstall(""" & _
             $Archivo & """," & $Destino & "\" & ObtenerNombre($Archivo) & """)" & @CRLF)
       Next
    EndIf
    EndFunc
    Func ObtenerNombre($Archivo) ;obtiene el nombre del archivo
       $TamDeLaRuta = StringLen(GUICtrlRead($txtRuta)) + 1
       $Tam = StringLen($Archivo)
       $Archivo = StringRight($Archivo, $Tam - $TamDeLaRuta)
       Return $Archivo
    EndFunc
    Func ObtenerDestino() ;Obtiene el destino
       $Dest = StringStripWS(GUICtrlRead($txtDestino),3)
       If StringMid($Dest,1,1) = "@" or StringMid($Dest,1,1) = "$" Then
          If StringMid($Dest,StringLen($Dest),1) = """" Then $Dest = StringTrimRight($Dest,1)
          Return $Dest
       Else
          Return """" & $Dest
       EndIf
    EndFunc
    Func Utilidades()
       GUISetState(@SW_SHOW, $Utilidades)
    EndFunc
    Func ValidarFiltro() ;La funcion que valida el filtro
       If (StringInStr(GUICtrlRead($txtFiltro),"(") And StringInStr(GUICtrlRead($txtFiltro),")")) Then
          ;Si existen los caracteres ( y )
          if StringInStr(GUICtrlRead($txtFiltro),"(")+ 1 < StringInStr(GUICtrlRead($txtFiltro),")") Then ;Si la pos de ( es menor que la pos de )
             Return 1
          Else
             MsgBox(16,"Error!", "El filtro es invalido, por favor si tienes dudas presiona el boton '?'",0,$Principal)
             Return 0
          EndIf
       Else
          MsgBox(16,"Error!", "Por favor el filtro debe ir entre parentesis",0,$Principal)
          Return 0
       EndIf
    EndFunc
en cuando a la pregunta de Aprendiz, comento que a mi no me provoca error al saleccionar carpeta. Que SO tienes?