Here is a KiXforms version. No selection required. Choose the configuration file and then run the code called from the chosen .ini file.



Get KiXforms from here
KiXforms


Here is the code.
 
Break On
$sAppVer = '1.0 5/15/2005'
$sKiXVer = SubStr(@KIX,1,4)
$sKiXMin = '4.23'
$sKFMin = '2.4.0.45'


If $sKiXVer < $sKiXMin
$sMsg = MessageBox('This Script requires at least KiXtart '+$skiXMin,'Version Check',4112)
Quit 1
EndIf


If @ERROR Or CheckKiXformsVersion($sKFMin) < $sKFMin
$sMsg = MessageBox('This Script requires at least KiXforms '+
$sKFMin+@CRLF+'Current version is: '+CheckKiXformsVersion(),'Version Check',4112)
Quit 1
EndIf


$System = CreateObject("Kixtart.System")


;************* Form **************
$Form = $System.Form()
$Form.Icon = 19
$Form.BorderStyle = 1
$Form.BackColor = 212,208,200
$Form.Height = 250
$Form.Center
$Form.Text = "Configuration Settings"
$Form.Width = 350
;**************************************


;************* GroupBox_Selection **************
$GroupBox_Selection = $Form.Controls.GroupBox()
$GroupBox_Selection.BackColor = 212,208,200
$GroupBox_Selection.Height = 200
$GroupBox_Selection.Left = 0
$GroupBox_Selection.Text = "Select Configuration"
$GroupBox_Selection.Top = 0
$GroupBox_Selection.Width = 340
;**************************************


;************* ComboBox2 **************
$ComboBox = $GroupBox_Selection.Controls.ComboBox()
$ComboBox.DropDownWidth = 125
$ComboBox.Height = 150
$ComboBox.Left = 15
$ComboBox.Sorted = "False"
$ComboBox.Text = "Select"
$ComboBox.Top = 25
$ComboBox.Width = 121
$ComboBox.onclick = 'SelectItem()'
;**************************************


;************* Label **************
$Label = $GroupBox_Selection.Controls.Label()
$Label.Bounds = 150,25,175,100
$Label.Text = ''
$Label.Visible = 0
;**************************************


;************* Button **************
$Button = $GroupBox_Selection.Controls.Button()
$Button.Bounds = 200,160,75,25
$Button.Text = 'E&xit'
$Button.Visible = 1
$Button.onclick = "ExitClick()"
;**************************************




$Choices = Split(ChangeSettings('C:\CONTROL','*.ini'),'*')


For $iIndex = 0 To Ubound($Choices)
$ComboBox.AddItem($Choices[$iIndex])
Next


$Form.Show
While $Form.Visible
$=Execute($Form.DoEvents())
Loop
Exit 0


Function SelectItem()
Dim $Msg
$Label.Text = 'The system will now be configured for '+$ComboBox.Text
$Label.Visible = 1
; Add code to read the selected .ini file and configure the system.
EndFunction


Function CheckKiXformsVersion(optional $KFMin)
Dim $KFDll,$KFVer,$objSystem,$Main
If Not $KFMin $KFMin="2.3.0.45" EndIf
$KFDll=ReadValue('HKCR\CLSID\{F89DF848-618A-46F9-8A1C-396EA442BDD3}\InprocServer32','')
If @ERROR
$CheckKiXformsVersion=@ERROR
Exit $CheckKiXformsVersion
EndIf
$KFVer=GetFileVersion($KFDll,'BinFileVersion')+GetFileVersion($KFDll,'SpecialBuild')
If @ERROR
$CheckKiXformsVersion=@ERROR
Exit $CheckKiXformsVersion
EndIf
If $KFVer < $KFMin
Exit 13
EndIf
$objSystem = CreateObject("Kixtart.System")
$Main=$objSystem.Form()
If @ERROR
$CheckKiXformsVersion=@ERROR
Exit $CheckKiXformsVersion
EndIf
$CheckKiXformsVersion=$KFVer
EndFunction


Function ChangeSettings($Folder,$Type)
Dim $File
$File = Dir($Folder+'\'+$Type)
While Not @ERROR
If Not (GetFileAttr($File) & 16)
$ChangeSettings = $ChangeSettings+'*'+Left($File,-4)
EndIf
$File = Dir()
Loop
$ChangeSettings=SubStr($ChangeSettings,2)
EndFunction


Function ExitClick()
Quit()
EndFunction