View previous topic :: View next topic |
Author |
Message |
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Mon Apr 10, 2017 09:27 Post subject: |
|
|
У меня для ситуации, когда источник каталог, все работает корректно. Проверь, установлены ли ассоциации (не просто выбраны плагины, а именно ассоциации).
А вот ситуация, когда источник архив, мне пока вообще не ясна. При отладке в дебагере процесс wcsript.exe просто закрывается без каких либо ошибок, все время в разных местах. Пока думаю. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 10, 2017 17:54 Post subject: |
|
|
Dec wrote: | Проверь, установлены ли ассоциации | Ну, а как они могут быть не установлены, если я вхожу в архивы?
После запуска TC2ShellAssocSetup.exe все галки там же, где и были при установке. Правда их там почему-то значительно меньше в списке. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Mon Apr 10, 2017 19:52 Post subject: |
|
|
Обновил TC4Shell, проверь. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 10, 2017 21:31 Post subject: |
|
|
Открытие exe по-прежнему в новом окне.
Копирование из папки починилось. Из архивов же пока так себе. Проверил какой-то zip - сработало, потом взял другие zip-ы, ничего не добавилось. Надо бы несколько архивов подсобрать для тестов.
И ещё почему-то окно ассоциаций не появилось, и установщик запросил перезапуск системы. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Mon Apr 10, 2017 21:35 Post subject: |
|
|
Flasher wrote: | Открытие exe по-прежнему в новом окне. | Это не изменится.
Flasher wrote: | Из архивов же пока так себе. | Будет что то более конкретное, пиши, буду разбираться.
Flasher wrote: | установщик запросил перезапуск системы. | Это обозначает, что dll, которые нужно было обновить, были загружены системой, и установщик не смог их обновить. Поэтому единственный вариант - перезагрузка. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Apr 10, 2017 22:02 Post subject: |
|
|
Dec wrote: | Это не изменится. | По причине?
Dec wrote: | Поэтому единственный вариант - перезагрузка. | А почему единсвенный? Я просто сперва не выбрал завершение explorer. С предыдущей версией выбрал и такого сообщения не было. А сейчас при повторной попытке установить только это окно и выводится вместо установки. Правильней было бы дать возможность переустановить без explorer.
И почему не выползло окно ассоциаций, а TC2ShellAssocSetup.exe даёт урезанный список? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Mon Apr 10, 2017 22:24 Post subject: |
|
|
Решение о перезагрузке принимается кодом InnoSetup, к которому я не имею отношения. Если InnoSetup не может обновить файл, то он пытается найти процессы, которые его блокируют, и если если такие найдены, то предлагает их завершить. Если ты отказываешься их завершать, или не найдены не все процессы, то InnoSetup не может обновить файл, и единственный корректный вариант - перезагрузка.
TC2ShellAssocSetup.exe уже давно не входит в дистрибутив, его код перекочевал в dll файлы. И пользоваться им я очень не рекомендую, поскольку его код и метод установки не согласован с текущим методом в dll. Я бы даже бы рекомендовал сделать uninstall, удаление остатков в Program Files ручками, удаление веток реестра в CurrentUser и LocalMachine, и чистый install. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Tue Apr 11, 2017 11:25 Post subject: |
|
|
Добавил поддержку некоторых флагов, передаваемых функцией CopyHere:
FOF_SILENT (4)
FOF_RENAMEONCOLLISION (8)
FOF_NOCONFIRMATION (16)
FOF_NOERRORUI (1024) |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 11, 2017 19:10 Post subject: |
|
|
Dec wrote: | его код перекочевал в dll файлы | И как с ними взаимодействовать? Как вызвать этот диалог?
Dec wrote: | Добавил поддержку некоторых флагов, передаваемых функцией CopyHere | Вот блин. Так у меня там в сумме и другие имеются. Я думал, что это всё по умолчанию... Посмотрел, а MoveHere-то вообще как CopyHere, файлы в поддерживаемом правку источнике остаются. А он-то мне как раз и нужен.
При попытке скопировать файлы в этот архив выпадает окно с ошибкой:
Quote: | Ошибка 0x800401F0: Не был произведен вызов CoInitialize. |
И на первый вопрос предыдущего поста ответ бы получить. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Tue Apr 11, 2017 20:49 Post subject: |
|
|
Flasher wrote: | И как с ними взаимодействовать? Как вызвать этот диалог? | Вариантов 2.
1) Пуск\TC4Shell\File associations
2) ControlsPanel\TC4Shell plugins\Кнопка на панели или пункт в контекстном меню.
Flasher wrote: | Я думал, что это всё по умолчанию... | Each Shell namespace must provide its own implementation of these flags, and each namespace can choose to ignore some or even all of these flags.
Flasher wrote: | При попытке скопировать файлы в этот архив выпадает окно с ошибкой | Не удалось воспроизвести.
Flasher wrote: | И на первый вопрос предыдущего поста ответ бы получить. | Я вообще не знаю, как ты добился того, что у тебя нет проблем с установкой ассоциаций с exe. Можешь показать скриншот контекстного меню после установки ассоциации?
Last edited by Dec on Tue Apr 11, 2017 22:09; edited 1 time in total |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 11, 2017 21:37 Post subject: |
|
|
Понял. Спасибо.
Dec wrote: | Не удалось воспроизвести. | У меня Win7 x86. Вот.
Dec wrote: | Можешь показать скриншот контекстного меню после установки ассоциации? |
Прошу добавить MoveHere и другие флаги. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Tue Apr 11, 2017 21:46 Post subject: |
|
|
Flasher wrote: | У меня Win7 x86. | Буду тестировать.
Flasher wrote: | | Судя по наличию команды Открыть как папку ассоциация НЕ была установлена. Эта команда есть у любого файла. Можно проверить по другому. Если в диалоге свойств exe файла после открытия на вкладке Навигация стоит галка Открывать EXE файлы как папки - ассоциация установлена.
Flasher wrote: | Прошу добавить MoveHere и другие флаги. | Насчет MoveHere я подумаю. А какие другие флаги интересуют? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 11, 2017 22:04 Post subject: |
|
|
Dec wrote: | Судя по наличию команды Открыть как папку ассоциация НЕ была установлена. | Т.е. открытие exe как архива к этому не относится?
Dec wrote: | Навигация стоит галка Открывать EXE файлы как папки - ассоциация установлена. | А... Не стояло. Поставил, стало показывать, что "указанный путь не существует".
А как отталкиваться от:
Dec wrote: | Это разблокирует возможность установки ассоциацией с exe файлами. | Ключ я создал. А дальше?
Dec wrote: | А какие другие флаги интересуют? | 256, 512, 4096, 8192. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Dec
Joined: 07 Sep 2006 Posts: 466
|
(Separately) Posted: Tue Apr 11, 2017 22:22 Post subject: |
|
|
Flasher wrote: | Т.е. открытие exe как архива к этому не относится? | Как я писал ранее, TC4Shell умеет открывать ЛЮБОЙ файл как архив (точнее умеет пытаться открывать). Команда Открыть как папку для этого и служит.
Flasher wrote: | Поставил, стало показывать, что "указанный путь не существует". | Вот об этой проблеме с запуском exe файлов после установки ассоциаций я и говорил ранее.
Flasher wrote: | Ключ я создал. А дальше? | Не ясен вопрос. Ключ просто разрешает установку ассоциаций с exe. По умолчанию он отключен, что бы не возникало проблем с запуском exe файлов.
Flasher wrote: | А какие другие флаги интересуют? | 256, 512, 4096, 8192.
Quote: | 256: Display a progress dialog box but do not show the file names. |
В случае скриптов прогрес не показывается вообще.
Quote: | 512: Do not confirm the creation of a new directory if the operation requires one to be created. |
TC4Shell никогда не спрашивает о создании новой директории.
Quote: | 4096: Only operate in the local directory. Do not operate recursively into subdirectories. | Какой смысл ты вкладываешь в этот флаг?
Quote: | 8192: Do not copy connected files as a group. Only copy the specified files. |
TC4Shell никогда не копирует connected files as a group. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 11, 2017 23:21 Post subject: |
|
|
Насчёт exe ясно. Поковыряю реестр ещё.
Dec wrote: | В случае скриптов прогрес не показывается вообще. | Если получатель - папка, то отображается. Ждём секунды 3 перед появлением прогресса. Играет роль объём и число объектов в архиве. А вот если получатель - архив, то прогресса нет. Но я надеялся, что в случае TC4Shell это можно как-то обойти.
Dec wrote: | TC4Shell никогда не спрашивает о создании новой директории. | ОК. 512 не надо.
Dec wrote: | Какой смысл ты вкладываешь в этот флаг? | После того как я его добавил в этот скрипт, у человека исчезла проблема включения иерархии дисков. Я так и не понял, почему без флага возникал такой глюк.
Dec wrote: | TC4Shell никогда не копирует connected files as a group. | Речь про web-связку. Т.е. с этим проблем нет? _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
|