#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GUIConstants.au3>
;~ #AutoIt3Wrapper_Res_requestedExecutionLevel=requireAdministrator
;~ #AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
;~ #AutoIt3Wrapper_Res_requestedExecutionLevel=highestAvailable
;~ #RequireAdmin
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Test Install", 441, 226, -1, -1)
$Button1 = GUICtrlCreateButton("Test install 1", 48, 24, 353, 65, $WS_GROUP)
GUICtrlSetFont(-1, 12, 800, 0, "MS Sans Serif")
$Button2 = GUICtrlCreateButton("Test install 2", 48, 112, 353, 65, $WS_GROUP)
GUICtrlSetFont(-1, 11, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$Test_Install_dest = "\\fs\Install\Tools\Folder\test.exe" ; где источник
$Test_INI_file = "\\fs\Install\Tools\Folder\test.ini" ; где источник
$Test_Install_coped = "C:\Folder\789.ini"; для проверки был ли перед этим установлен
GUISetState()
Do
$nMsg = GUIGetMsg()
Select
Case $nMsg = $Button1 ; Первый выбор. 1-ый линк
GUIDelete()
IF FileExists($Test_Install_coped) Then ; проверка есть ли такой каталог на С диске с фаилом 789.ini
FileCreateShortcut("C:\Folder\test.exe", @DesktopDir &"\Test install 1.lnk",'C:\Folder',"/CurrentUser:Index") ; если есть 789.ini создает только линк
MsgBox ( 0, "Test install", "Test install 1 link created")
Else ; если нет 789.ini, то создаем папку, копируме фаилы, запускаем ТЕСТ.ЕХЕ, создаем линк на рабочем столе и ждем завершения программы
DirCreate("C:\Folder")
_FileCopy($Test_Install_dest,"C:\Folder")
_FileCopy($Test_INI_file,"C:\Folder")
Run('C:\Folder\test.exe', 'C:\Folder')
FileCreateShortcut("C:\Folder\test.exe", @DesktopDir &"\Test install 1.lnk",'C:\Folder',"/CurrentUser:Index")
_InstallComplited()
EndIf
Case $nMsg = $Button2 ; как и $Button1 только другой линк
GUIDelete()
IF FileExists($Test_Install_coped) Then
FileCreateShortcut("C:\Folder\test.exe", @DesktopDir &"\Test install 2.lnk",'C:\Folder',"/CurrentUser:Query")
MsgBox ( 0, "Test install", "Test install 2 link created")
Else
DirCreate("C:\Folder")
_FileCopy($Test_Install_dest,"C:\Folder")
_FileCopy($Test_INI_file,"C:\Folder")
Run('C:\Folder\test.exe', 'C:\Folder')
_InstallComplited()
EndIf
Case $nMsg = $GUI_EVENT_CLOSE
Exit
EndSelect
Until $nMsg = $GUI_EVENT_CLOSE or $nMsg = $Button1 or $nMsg = $Button2
;~ функция копирования
Func _FileCopy($fromFile,$tofile)
Local $FOF_RESPOND_YES = 16
Local $FOF_SIMPLEPROGRESS = 256
$winShell = ObjCreate("shell.application")
$winShell.namespace($tofile).CopyHere($fromFile,$FOF_RESPOND_YES)
EndFunc