an other point with inifile if you use some one for reading configuration ...

for one read in an inifile, the windows api loads all the file.
if the file is on a local disk, the first read loads the file in the system cache. for next reads, the file is probably still in memory so no need to access to disk.

if the file is on a network share, there is no system cache. for each read you need to do, the all file is read through the network !!!

Suppose you have a file of 1024 bytes and you need to read 5 keys in a section :
locally, the script reads 1024 bytes from disk one time and other reads get data from memory.
through the network, the script reads 5 * 1024 bytes. This is always slower, especially if computers are on a WAN.

try the simple code below
 Code:
$nb=100

Test( @scriptdir+"\"+@scriptname+".ini", $nb )
Test( "\\servername\sharename"+@scriptname+".ini", $nb )


function test( $inifile, $nb )
	$handle = freefilehandle()
	if open( $handle, $inifile, 1+4 )=0
		$=WriteLine( $handle,"[OPTIONS]"+@crlf )
		for $i=0 to $nb
			$=WriteLine( $handle,""+$i+"=toto "+$i+@crlf )
		next
		$=close($handle)
	endif

	$start = @ticks
	$arrKeys = ReadProfileString( $inifile, "OPTIONS", "" )
	$arrkeys = split( $arrkeys, chr(10) )

	for each $key in $arrKeys
		if $key
			$value = ReadProfileString( $inifile, "OPTIONS", $key )
		endif
	next
	$start = @ticks - $start
	"executed in " $start " ms" ?

	del $inifile
endfunction

This code generates a file of 1205 bytes and the difference is significant
you can try differents ini file size by changing $nb.

Globally, it is a good thing to copy locally a remote inifile, then use local file.
In my login script, i use robocopy or replace /u to get file locally (with these tools, copies are done only if files change). If you don't want to keep files locally, delete them after use.
_________________________
Christophe