client.exe 실행 파일이 있는데 "autoupdate-client.exe ."으로 시작하는 파일로 대체됩니다. 예 : client.exe가 실행되고 autoupdate-client 인 경우. . exe는 같은 폴더에 다음 프로그램이 client.exe가를 삭제하고 다음 코드는 과부로 구현 client.exe가하는 자동 업데이트-client.exe가 이름을 바꿀 것입니다 :TCL에서 파일 속성을 사용하여 파일에 대한 사용 권한 부여
if {[regexp -nocase \
"autoupdate-(.*)" \
[file tail [info nameofexecutable]] - binaryname]} {
after 5000
set dirname [file dirname [info nameofexecutabe]
set targetname [file join $dirname $binaryname]
catch {vfs::mk4::Unmount exe [info nameofexecutable]]
file copy -force [infor nameofexecutable] $targetname
catch {file attributes $targetname -permission 0755}
exec $targetname {*}$argv &
exit 0
} else {
set dirname [file dirname [infor nameofexecutable]
set targetname [file join $dirname \
"autoupdate-[file tail [info nameofexecutablle]]}\
]
if {[file exists $targetname]} {
후 5000 캐치 {파일 삭제 - force $ targetname}
다음 오류가 발생합니다.
error copying "autoupdate-client.exe" to "client.exe": permission denied
while executing "
file copy -force [info nameofexecutable] $targetname"
파일 특성 $ targetname -permission 0755가 오류를 발생시키는 것으로 의심됩니다. 가 나는 Windows 용
모든'.exe' 파일은 레지스트리에 정책이 설정되어 있지 않은 한 실행 가능하도록 계산됩니다. 또한 실행 파일은 프로세스가 실행 중일 때 (일반적으로) 읽기 전용으로 잠겨 있으며 일부 응용 프로그램과 서비스 (예 : 바이러스 백신)도 많은 것을 방해 할 수 있습니다. 지저분하고 복잡합니다. –