Создайте файл CAB для установки ActiveX для IE

Я создал файл такси, который содержит мой activex использование CABARC.exe. Я также создал .inf файл. Мой inf файл похож на это:

[version]
    signature="$CHICAGO$"
    AdvancedINF=2.0
[Add.Code]
    MySetup.exe=MySetup.exe
[MySetup.exe]
    file-win32-x86=thiscab
    clsid={49892510-B520-4b35-8ADF-57084DD2F717}

Мой HTML похож на это:


Я создал CABARC использование следующей команды:

C:\tools\Cab\BIN>CABARC.EXE N MySetup.cab MySetup.msi setup.inf

Я также добавил http://myurl к надежным сайтам. Теперь в первый раз, когда я открыл страницу HTML в IE, я видел желтую панель, которую я принял. Однако это никогда не устанавливало элемент управления ActiveX. Я не вижу установку в своих программных файлах, и при этом я не могу видеть, что что-либо в конечном счете регистрируется или во временной папке загрузки, или в "управляют дополнениями". Теперь каждый раз я открываю веб-страницу в IE, я больше не вижу желтую панель.

Кто-либо может помочь мне здесь?

6
задан vikasde 11 December 2009 в 21:20
поделиться

3 ответа

Похоже, мой .inf был выключен. Вот что сработало для меня:

[version]
Signature="$CHICAGO$"
AdvancedINF=2.0

[Setup Hooks]
hook1=hook1

[hook1]
run=msiexec.exe /i "%EXTRACT_DIR%\MySetup.msi" /qn

сделать такси:

CABARC.EXE N MyActiveX.cab MySetup.msi setup.inf
1
ответ дан 17 December 2019 в 07:05
поделиться

Ну, конечно же, проверка идентичности на не-одиночном объекте (например, «a is None» или «a is False») обычно не является хорошей практикой - это может быть быстро, но очень быстрым обходным решением было бы заменить «is» на тест «==» и использовать инкрементный счетчик для определения идентичности:

# this is not threadsafe.
class Message(object):
    def _next_id():
       i = 0
       while True:
            i += 1
            yield i
    _idgen = _next_id()
    del _next_id

    def __init__(self):
        self.id = self._idgen.next()

    def __eq__(self, other):
        return (self.__class__ == other.__class__) and (self.id == other.id)

Это может быть идеей.

Также имейте в виду, что если у вас есть тонны «рабочих процессов», потребление памяти может быть намного больше, чем при подходе на основе потоков.

Надеюсь, это поможет…

Упаковка элементов управления ActiveX

2
ответ дан 17 December 2019 в 07:05
поделиться

VS 2008 предоставляет отличный проект CAB. Его можно найти в разделе «Другие типы проектов» / «Установка и развертывание» / «Проект CAB».

Для простых проектов CAB вам просто нужно добавить выходные данные своего компонентного проекта.

Если вам также необходимо подписать свой CAB, вы должны отредактировать свойства проекта, добавив команду post build signtool.exe, но как только вы сможете подписать компонент через строку cmd, вам просто нужно скопировать командную строку для публикации события сборки. Использование макроса $ (ProjectDir) может помочь обобщить процесс автоматической сборки.

1
ответ дан 17 December 2019 в 07:05
поделиться
Другие вопросы по тегам:

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