Подавание портативной заявки - регистрирующий DLLs и DLLs в system32

Я хочу подать портативную заявку (на Windows XP), так, чтобы он мог работать непосредственно с CD. Приложение требует, чтобы некоторый DLLs и OCXs были зарегистрированы, и некоторые из них должны быть в system32 при регистрации (по некоторым причинам).

Каковы последствия регистрации большого количества DLLs с regsvr32 в программе/сценарии обертки вокруг приложения? Это могло испортить систему? И что происходит, когда файлы удалены (так как они находятся на съемные носители)?. Я предполагаю, что мог не зарегистрировать их снова, когда портативное приложение останавливается, но что, если одним из них является общий DLL, который также используется другими приложениями? Был бы, не регистрируя его повредить те другие приложения?

Я предполагаю, что, копируя файлы случайным образом в system32 при смотрении портативное приложение является плохой идеей. Почему приложение потребовало бы, чтобы некоторый DLLs и OCXs были в System32-папке? Существует ли способ работать вокруг этого? Единственный путь состоит в том, чтобы заставить программу/сценарий обертки удостовериться, что ни один из файлов уже не существует перед копированием и удаляет их после запуска приложения?

Имеет путь эти вещи работа, измененная в Windows Vista и 7?

Заявка, которую я хочу подать портативным, является демоверсией (норвежского) приложения генеалогии Embla Familie og Slekt (норвежский веб-сайт, переведенный Google). Мой дедушка, который сделал большую работу генеалогии, недавно скончался, таким образом, я хотел бы распределить его работу своим родственникам. Было бы замечательно, если бы все, что они должны были сделать, было вставкой CD, и программное обеспечение открылось бы. Установка его и установка его для использования данных моего дедушки являются немного сложными для пользователя компьютера новичка. (Я попытался связаться с авторами без успеха, но я попробую еще раз, если я заставлю его работать, удостоверяться, что распределение демонстрации законно),

Спасибо, и простите мое незнание - я обычно не запускаю Windows.:)

1
задан 23.11.2009, 22:57

2 ответа

Я не знаю, почему DLL должен был бы быть в System32; им не придется быть, это - плохая практика к, но приложение DLL в каталоге систем.

Да, DLL и OCX's, которые выставляют COM-объект (например, те, которые должны быть зарегистрированы), действительно должны быть зарегистрированы и перечислены в реестре. Однако с Windows XP и позже существует регистрация свободный COM. Короткое объяснение состоит в том, что для каждого.DLL и.EXE Вы создаете filename.ext.manifest файл, который перечисляет все компоненты, которые он экспортирует и использует. К сожалению, действительность более сложна. См. эту статью для описания. Теоретически возможно придумать информацию, в которой Вы нуждаетесь для файлов манифеста, но Вам будет нужно хорошее понимание COM.

1
ответ дан 17.12.2019, 00:57

Много лет назад я понял, что, когда для Windows был нужен dll файл, который не был зарегистрирован, это автоматически смотрело в каталоге EXE-файла. В таком мире, подавая портативную заявку очень легко.

Я понятия не имею, помню ли я это право (или еще более или менее правильный) или имеет ли оно все еще место, но копирование всех файлов к карте с интерфейсом USB и помещению его в другом компьютере было бы довольно быстрой и легкой проверкой.

0
ответ дан 17.12.2019, 00:57

Теги

Похожие вопросы