Можно ли использовать бесплатный для регистрации COM с приложениями HTA?

StackOverflow https://stackoverflow.com/questions/483306

  •  20-08-2019
  •  | 
  •  

Вопрос

Поскольку приложения HTA размещаются внутри MSHTA.exe как предоставить манифест?Кроме того, я предполагаю, что предоставление MSHTA.exe.manifest потенциально может привести к поломке других приложений HTA?

Это было полезно?

Решение

В Vista + MSHTA.exe имеет встроенный манифест, который имеет приоритет над внешними манифестами, поэтому ваше предложение не подходит.

В XP / 2003, да, ваше предложение сработало бы, хотя это было бы дурным тоном, как удаление файлов в System32 для изменения поведения системного двоичного файла (особенно убедитесь, что любая регистрация, которую вы вводите в манифест, - это объекты, о которых заботитесь только вы).

Правильное решение, доступное на Win2003 и выше, заключается в использовании Майкрософт.Windows.ActCtx объект для создания экземпляра вашего объекта с указанием явной ссылки на манифест.

Например:

var actCtx = WScript.CreateObject("Microsoft.Windows.ActCtx");
actCtx.Manifest = "myregfree.manifest";
var obj =  actCtx.CreateObject("MyObj");   

Возможно, если это должно работать и в XP, то путь, который вы можете выбрать, представляет собой комбинацию обоих решений.

Другие советы

Редактировать: Мой ответ неверен, но я оставлю его здесь, чтобы избежать подобных неправильных ответов :)


Если вы спрашиваете, можете ли вы получить доступ к COM-объекту, не регистрируя его на компьютере, то я думаю, что ответом будет предварительное "да".Однако работа, которую вам нужно было бы выполнить, была бы существенной и означала бы реализацию большого количества низкоуровневого кода, который большинство инструментов разработки предоставляют вам как нечто само собой разумеющееся (Delphi, .NET, JAVA).Вам нужно будет напрямую взаимодействовать с библиотекой dll (как с обычной библиотекой dll), запрашивать ее интерфейсы и вызывать свои методы.

Если у вас есть знания C, C ++, то способ доступа к COM с этих языков дал бы вам несколько советов.

Извините, я больше ничем не могу вам помочь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top