aLLigator wrote: |
1. Почему отсутствуют иконки файлов внутри архивов? |
aLLigator wrote: |
2. Почему у программы более высокий приоритет на открытие файла при работе в ТС? т.е. почему в ТС при открытии файла (я тестировал на АРК) открывается проводник, а не настроенная внутренняя ассоциация. |
Dec wrote: |
Выложи, пож-та, скриншот. |
aLLigator wrote: |
Один и тот же файл открыт в Проводнике и ТС |
aLLigator wrote: |
на моей winXPx32 после установки программы Проводник стал жутко тормозить. |
Dec wrote: |
Эта что за плагин? |
aLLigator wrote: |
на моей winXPx32 после установки программы Проводник стал жутко тормозить. |
aLLigator wrote: |
Где бы его глянуть что за плагин берет программа для его открытия? |
Dec wrote: |
он предложит вам выбрать расширения файлов |
Flasher wrote: |
Лучше всё-таки сопоставлять группой |
Flasher wrote: |
Лучше всё-таки сопоставлять группой, чтобы один раз и забыть. |
Flasher wrote: |
А где в списке ...? |
Flasher wrote: |
И я бы снял галки |
Dec wrote: |
то это по его мнению безопасная операция |
Flasher wrote: |
Эмм. А как установщик без составителя может решать такие вещи? |
Flasher wrote: |
Ну, так очевидно, что chm по-умолчанию открывается системным hh.exe. Где же тут соблюдена "безопасность"? |
Flasher wrote: |
А какой тогда смысл списка, если весь он будет открываться только через контекстное меню? |
Flasher wrote: |
Считаю, такой подход не совсем верным |
Dec wrote: |
без установки соответствующей ассоциации |
Flasher wrote: | ||
|
Code: |
Windows Registry Editor Version 5.00 |
Flasher wrote: |
Пытался сейчас скормить dz (gzip) - не получилось. Как правильно? |
Code: |
[HKEY_CURRENT_USER\Software\Dec Software\TC4Shell\Extensions\.dz] |
Code: |
Set Arch1 = ShA.NameSpace("C:\Test.zip") |
Dec wrote: |
У меня есть в планах это исправить. |
Flasher wrote: |
Dec
А почему при подобных обращениях в папку %Temp% на Win7 попадает пустая "TC4Shell", а на XP нет? |
Quote: |
не понял взаимосвязь |
Quote: |
под любыми, я полагаю, стоит понимать те, что поддерживаются, но могут иметь ложные расширения? |
Quote: |
Но что насчёт указанных планов исправить? |
Dec wrote: |
ее за один день не сделать |
Dec wrote: |
Как реальный пример - расширение exe, которое нельзя ассоциировать с TC4Shell. |
Quote: |
Ну, об этом и не вчера писалось. |
Quote: |
А чего так? |
Dec wrote: |
требуемая тобой функциональность ломает очень много кода |
Dec wrote: |
то начиная с Vista становится невозможно запустить exe на выполнение |
Code: |
Windows Registry Editor Version 5.00 |
Code: |
[HKEY_CURRENT_USER\Software\Dec Software\TC4Shell\Extensions\.exe] |
Code: |
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.exe |
Flasher wrote: |
С виртуальными по нулям. |
Flasher wrote: |
С exe почти порядок |
Dec wrote: |
Т.е. все работает нормально? |
Dec wrote: |
Не совсем понял. |
Flasher wrote: |
открытие в отличии от других расширений происходит в новом окне |
Flasher wrote: |
С чего бы? |
Flasher wrote: |
А что в этой фразе сокрального? |
Dec wrote: |
Проверь, установлены ли ассоциации |
Flasher wrote: |
Открытие exe по-прежнему в новом окне. |
Flasher wrote: |
Из архивов же пока так себе. |
Flasher wrote: |
установщик запросил перезапуск системы. |
Dec wrote: |
Это не изменится. |
Dec wrote: |
Поэтому единственный вариант - перезагрузка. |
Dec wrote: |
его код перекочевал в dll файлы |
Dec wrote: |
Добавил поддержку некоторых флагов, передаваемых функцией CopyHere |
Quote: |
Ошибка 0x800401F0: Не был произведен вызов CoInitialize. |
Flasher wrote: |
И как с ними взаимодействовать? Как вызвать этот диалог? |
Flasher wrote: |
Я думал, что это всё по умолчанию... |
Flasher wrote: |
При попытке скопировать файлы в этот архив выпадает окно с ошибкой |
Flasher wrote: |
И на первый вопрос предыдущего поста ответ бы получить. |
Dec wrote: |
Вариантов 2. |
Dec wrote: |
Не удалось воспроизвести. |
Dec wrote: |
Можешь показать скриншот контекстного меню после установки ассоциации? |
Flasher wrote: |
У меня Win7 x86. |
Flasher wrote: |
Flasher wrote: |
Прошу добавить MoveHere и другие флаги. |
Dec wrote: |
Судя по наличию команды Открыть как папку ассоциация НЕ была установлена. |
Dec wrote: |
Навигация стоит галка Открывать EXE файлы как папки - ассоциация установлена. |
Dec wrote: |
Это разблокирует возможность установки ассоциацией с exe файлами. |
Dec wrote: |
А какие другие флаги интересуют? |
Flasher wrote: |
Т.е. открытие exe как архива к этому не относится? |
Flasher wrote: |
Поставил, стало показывать, что "указанный путь не существует". |
Flasher wrote: |
Ключ я создал. А дальше? |
Flasher wrote: |
А какие другие флаги интересуют? |
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. |
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. |
Dec wrote: |
В случае скриптов прогрес не показывается вообще. |
Dec wrote: |
TC4Shell никогда не спрашивает о создании новой директории. |
Dec wrote: |
Какой смысл ты вкладываешь в этот флаг? |
Dec wrote: |
TC4Shell никогда не копирует connected files as a group. |
Flasher wrote: |
А вот если получатель - архив, то прогресса нет. |
Flasher wrote: |
После того как... |
Flasher wrote: |
Речь про web-связку. Т.е. с этим проблем нет? |
Dec wrote: |
отсутствие диалогов в ситуации, когда в операцию не передан дескриптор какого нибудь окна |
Dec wrote: |
Это фишка Проводника, я пока не планирую ее повторять. |
Flasher wrote: |
Дескриптор какого окна может быть передан, если мы задаём только пути? |
Dec wrote: |
Ну а раз нет ножек, значит нет и мультиков. |
Flasher wrote: |
Вот и спрашиваю, откуда там дескриптор? |
Flasher wrote: |
При попытке скопировать файлы в этот архив выпадает окно с ошибкой |
Flasher wrote: |
1. Что по 4096 и MoveHere? |
Flasher wrote: |
А какие вообще плюсы у создания tmp в том же каталоге с заменой архива? |
Flasher wrote: |
И ещё насчёт разрешения ассоциации для exe. Что нужно сделать, чтобы оно распространялось и на обсуждаемые методы? |
Dec wrote: |
Экий ты быстрый |
Dec wrote: |
чем бы ты не упаковывал, что бы ты не упаковывал, tmp файл будет создаваться в любом случае. |
Dec wrote: |
Не понят вопроса. |
Flasher wrote: |
Сама упаковка из общих папок никаких tmp не подразумевает. Если бы такое было, я бы это ещё 100 лет назад заметил. |
Flasher wrote: |
Если источник exe, то как заставить их с ним работать? |
Dec wrote: |
Т.е. ты хочешь сказать, что 7z умеет обновлять архивы без создания временных файлов? |
Dec wrote: |
Для кого я это писал? |
Quote: |
А вот если получатель - архив, то прогресса нет. |
Flasher wrote: |
Что по 4096? |
Flasher wrote: |
Что по MoveHere? |
Flasher wrote: |
Но она хотя бы в Temp их кидает. |
Flasher wrote: |
Если не получится, то по умолчанию TC4Shell лучше отвязать от ProgID zip-а. |
Flasher wrote: |
А можешь сделать, чтобы при применении обновлялись только изменённые значения вместо полной перезаписи? |
Dec wrote: |
Я так и не понял, за что этот флаг отвечает. |
Dec wrote: |
Т.е. я не могу в своем коде отличить CopyHere от MoveHere. |
Dec wrote: |
А чем Temp лучше директории архива? |
Dec wrote: |
Или что то иное подразумевалось? |
Dec wrote: |
Это механизм самодиагностики и подчистки ненужных файлов. |
Flasher wrote: |
А просто добавить его можно, чтобы избежать проблем? |
Flasher wrote: |
Предлагаю по неиспользуемому флагу. |
Flasher wrote: |
Никогда не любил, когда времянки создавались в том же каталоге. |
Flasher wrote: |
В крайнем случае можно сравнивать буквы дисков и в случае совпадения, перемещать в Temp. |
Flasher wrote: |
Окна с архивами в Проводнике как-то касаются скриптов? |
Flasher wrote: |
Постараться выяснить, как отобразить прогресс аналогично системному поведению |
Flasher wrote: |
добавить связанные флаги |
Flasher wrote: |
Если не выйдет, то сделать привязку zip к ProgID системы по умолчанию, чтобы пользователю не рассказывать как специально добиться такого результата. |
Flasher wrote: |
Он так медленно срабатывает из-за чтения реестра? |
Flasher wrote: |
Диагностировать то он должен перед отрисовкой флагов в окне. А при чём тут применение? |
Dec wrote: |
Добавляй, я просто игнорирую ее в своем коде. |
Dec wrote: |
Однозначно нет |
Dec wrote: |
не обозначает, что файлы расположены на одном физическом диске, ибо есть такая штука, как hardlink. |
Dec wrote: |
Куда добавить? Какие флаги? |
Dec wrote: |
Если не нужна ассоциация между zip и TC4Shell |
Dec wrote: |
При применении происходит обновление всех записей в реестре на случай, если они были изменены |
Flasher wrote: |
Я имел в виду тебя. |
Flasher wrote: |
Ну, если ты не сделаешь MoveHere |
Flasher wrote: |
Которая всегда расположена не то, что на одной физическом диске, а в пределах его одного тома. |
Flasher wrote: |
Так это объяснять мне как автору скрипта придётся, что и нужно избежать. |
Dec wrote: |
А что мне добавить, если мы так и не выяснили, за что этот флаг отвечает. |
Dec wrote: |
А почему тебе так принципиально использовать именно MoveHere, почему не хочешь просто удалить файлы после CopyHere - Items.InvokeVerbEx("delete") |
Dec wrote: |
Просто пиши комментарий в скрипте, что окна с прогрессом не будет, потому что автор TC4Shell не хочет его делать. |
Dec wrote: |
Но делать не буду. Нет переданного дескриптора окна - нет UI. |
Flasher wrote: |
Мы выяснили, в каких ситуациях он помогает. |
Flasher wrote: |
Но делать не буду. Нет переданного дескриптора окна - нет UI. |
Dec wrote: |
Стандартной практикой в shell подсистеме является отсутствие диалогов в ситуации, когда в операцию не передан дескриптор какого нибудь окна, которое станет родительским по отношению к создаваемым в случае необходимости создания окон. Я придерживаюсь этой практики. Поскольку wscript.exe не передает ни какой дескриптор окна, TC4Shell считает, что UI не нужен. Ну а раз UI не нужен, то и окно прогресса не нужно. |
Dec wrote: |
наоборот не делать, если передан этот флаг? |
Flasher wrote: |
Я же приводил ссылку. |
Flasher wrote: |
Это как минимум неразумно. |
Dec wrote: |
мы не придем в данном вопросе к компромиссу. |
Flasher wrote: |
к которому на протяжении не одного десятка лет привыкли пользователи скриптов. |
Dec wrote: |
У нас проблема понимания сути TC4Shell. |
Dec wrote: |
Реальная аудитория, на которую рассчитан проект, imho вообще не пересекается с аудиторией скриптописателей. |
Dec wrote: |
но ломать принципы проекта ради использования его в скриптах я не буду. |
Dec wrote: |
Завтра еще кто-нибудь создаст какого нибудь клиента, который будет использовать NSE типа моего для манипуляций с архивами. И кто-то может случайно передать недокументированный флаг и потерять данные. |
Flasher wrote: |
Тогда чего ты тратишь на меня нереального своё драгоценное время? |
Dec wrote: |
Я не против того, что TC4Shell используется в скриптах, и даже готов добавлять дополнительный функционал в него |
Quote: |
и даже готов добавлять дополнительный функционал в него |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours