Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для semiono

Ветеран


Сообщения: 842
Благодарности: 33

Профиль | Отправить PM | Цитировать


Я нашёл причину! Всётаки это здесь было...

[HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\MyProg.exe]
@="C:\I\Apps\MyProg\MyProg.exe"

Для корректности первого запуска я все ссылки установил на запуск скрипта, а не самой программы.
После исполнения скрипт сам поправит ссылки на приложение как положено.
Тоесть после инсталяции у меня было так

[HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\MyProg.exe]
@="C:\I\Apps\MyProg\Script.exe"

Ну а далее что видно из скрипта замена:
Код: Выделить весь код
RegWrite("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\MyProg.exe", "", "REG_SZ", @ProgramFilesDir & "\MyProg\MyProg.exe")
Вот как раз из-за того что скрипт прописан в ...CurrentVersion\App Paths\ он и запускается рекурсивно
из под ShellExecute() Хотя по большому счёту это баг то ли в автоит, то ли в Ms API.
Ну не совсем баг, а как бы недочёт.

---
Я как-то нагуглил ваш автиоит форум, там обсуждение было FileDelete(@ScriptName),
у меня это чётко работает, может это в новых версиях автоит улучшили?
Или всётаки лучше через cmd /k delete ....ping ... делать?

У меня на асме есть ещё решение через PendingFileRenameOperations реестра...
Правда с перезагрузкой.
Код: Выделить весь код
include '%fasm%\win32ax.inc'

section '.code' code readable executable

start:
        invoke ExpandEnvironmentStrings,lpDrv,lpStr1,400h
        invoke lstrcat,lpStr1,File1
        invoke MoveFileEx,lpStr1,NULL,MOVEFILE_DELAY_UNTIL_REBOOT
exit:
        invoke  ExitProcess,0

section '.data' data readable writeable

lpDrv   db '%ProgramFiles%',0

File1   db '\Samplitude\Rn5b.exe',0

lpStr1  db ?

section '.idata' import data readable writeable
        library kernel32,'KERNEL32.DLL'
        include '%fasm%\api\kernel32.inc'
Но теперь наверное воспользуюсь FileDelete(@ScriptName)

-------
Полезное сообщение


Последний раз редактировалось semiono, 17-05-2010 в 22:11.


Отправлено: 21:59, 17-05-2010 | #6