Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 10:10
Оценка:
Сразу скажу — я не дотнет программер.
Мне дали дотнетовский солюшен, в результате которого генерится dll-ка(ActiveX).
Мне нужно собрать CAB файл и подписать его.
Раньше через солюшен просто генерилась dll-ка, которая потом паковалась в CAB с помощью батника.

В студии я нашел такой тип проекта как CAB Project.
Создал новый CAB Project и добавил в него уже существующие проекты.
Выставил зависимости.
Собрал. В результате получил CAB файл.
Внутри CAB файла лежит dll-ка и файл OSD25D7.OSD.
Раньше при ручной сборке в как файл ложился inf файл с такой структурой
[version]
signature="***"
AdvancedINF=***

[Add.Code]
***.dll=***.dll

[***.dll]
file-win32-x86=thiscab
clsid={***}
FileVersion=1,0,0,0
RegisterServer=yes


Это разные файлы?
Мне нужно сделать так чтобы в CAB файл ложился еще и inf файл?
Или достаточно OSD файла?

Второй вопрос — как подписать файл?
Нужно где-то из батника вызвать утилиту, которая подпишет CAB файл?
Или можно эту же утилиту вызвать где-то из солюшена?
В обычном проекте я нашел Post Build Event.
Но в CAB Project я что-то такого не вижу.
Как правильно поступить?

01.02.10 19:16: Перенесено модератором из '.NET' — AndrewVK
cab
Re: Несколько вопросов про CAB файл
От: okman Беларусь https://searchinform.ru/
Дата: 01.02.10 13:19
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Сразу скажу — я не дотнет программер.

А>Мне дали дотнетовский солюшен, в результате которого генерится dll-ка(ActiveX).
А>Мне нужно собрать CAB файл и подписать его.
А>Раньше через солюшен просто генерилась dll-ка, которая потом паковалась в CAB с помощью батника.

А>В студии я нашел такой тип проекта как CAB Project.

А>Создал новый CAB Project и добавил в него уже существующие проекты.
А>Выставил зависимости.
А>Собрал. В результате получил CAB файл.
А>Внутри CAB файла лежит dll-ка и файл OSD25D7.OSD.
А>Раньше при ручной сборке в как файл ложился inf файл с такой структурой
А>
А>[version]
А>signature="***"
А>AdvancedINF=***

А>[Add.Code]
А>***.dll=***.dll

А>[***.dll]
А>file-win32-x86=thiscab
А>clsid={***}
А>FileVersion=1,0,0,0
А>RegisterServer=yes
А>


А>Это разные файлы?

А>Мне нужно сделать так чтобы в CAB файл ложился еще и inf файл?
А>Или достаточно OSD файла?

А>Второй вопрос — как подписать файл?

А>Нужно где-то из батника вызвать утилиту, которая подпишет CAB файл?
А>Или можно эту же утилиту вызвать где-то из солюшена?
А>В обычном проекте я нашел Post Build Event.
А>Но в CAB Project я что-то такого не вижу.
А>Как правильно поступить?

inf-файл нужно собрать вручную и добавить в CAB-архив.
А подписать можно с помощью signtool.exe, например.
Вообще, весь процесс развертывания ActiveX подробно описан в MSDN (Packaging ActiveX Controls).
Re[2]: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 13:27
Оценка:
O>inf-файл нужно собрать вручную и добавить в CAB-архив.
O>А подписать можно с помощью signtool.exe, например.
O>Вообще, весь процесс развертывания ActiveX подробно описан в MSDN (Packaging ActiveX Controls).

Спасибо. Ушел читать.

А что за файл OSD25D7.OSD?
Re[2]: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 13:50
Оценка:
O>Вообще, весь процесс развертывания ActiveX подробно описан в MSDN (Packaging ActiveX Controls).

Там написано как паковать утилитой cabarc.exe.
Я же хочу уйти от этого и отдать все на откуп Visual Studio 2008 — чтобы паковкой занималасб сама студия.
Или это плохо?

А подписывать я хочу с помощью signtool.exe
И хотелось бы вызывать его из Post Build Event, если это возможно.

Придумал такое решение — добавить в солюшин пустой обычный проект.
В этом проекте поставить зависимость на CAB Project.
Ну и в Post Build Event для этого проекта прописать вызов signtool.exe
Или это очень криво?

Вобщем очень хочется обойтись без дополнительных батников.
Хочу чтобы вся конфигурация билда ActiveX-а находилась в одном месте — в солюшене.
Re[3]: Несколько вопросов про CAB файл
От: okman Беларусь https://searchinform.ru/
Дата: 01.02.10 14:10
Оценка:
Здравствуйте, Аноним, Вы писали:

O>>Вообще, весь процесс развертывания ActiveX подробно описан в MSDN (Packaging ActiveX Controls).


А>Там написано как паковать утилитой cabarc.exe.

А>Я же хочу уйти от этого и отдать все на откуп Visual Studio 2008 — чтобы паковкой занималасб сама студия.
А>Или это плохо?

Делайте через CAB-проект. Я проверял на собственном опыте — все нормально работает и без cabarc.exe.

А>А подписывать я хочу с помощью signtool.exe


Аналогично, делается без проблем.

А>И хотелось бы вызывать его из Post Build Event, если это возможно.


А>Придумал такое решение — добавить в солюшин пустой обычный проект.

А>В этом проекте поставить зависимость на CAB Project.
А>Ну и в Post Build Event для этого проекта прописать вызов signtool.exe
А>Или это очень криво?

А>Вобщем очень хочется обойтись без дополнительных батников.

А>Хочу чтобы вся конфигурация билда ActiveX-а находилась в одном месте — в солюшене.
Re[4]: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 14:20
Оценка:
O>Аналогично, делается без проблем.

Как? Через дополнительный проект или как-то в CAB Project-е можно указать что CAB нужно подписать?
Re[5]: Несколько вопросов про CAB файл
От: okman Беларусь https://searchinform.ru/
Дата: 01.02.10 14:25
Оценка:
Здравствуйте, Аноним, Вы писали:

O>>Аналогично, делается без проблем.


А>Как? Через дополнительный проект или как-то в CAB Project-е можно указать что CAB нужно подписать?


Так в Properties есть пункт — PostBuildEvent.
Re[6]: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 14:29
Оценка:
O>Так в Properties есть пункт — PostBuildEvent.

У меня в свойствах именно CAB Project-а нет такого пункта.
Microsoft Visual Studio 2008
Version 9.0.21022.8
Re[7]: Несколько вопросов про CAB файл
От: okman Беларусь https://searchinform.ru/
Дата: 01.02.10 14:32
Оценка:
Здравствуйте, Аноним, Вы писали:

O>>Так в Properties есть пункт — PostBuildEvent.


А>У меня в свойствах именно CAB Project-а нет такого пункта.

А>Microsoft Visual Studio 2008
А>Version 9.0.21022.8

В Solution Explorer выделите CAB-проект, затем зайдите в View и выберите Properties Window.
Re: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 14:34
Оценка:
Можно ли использовать переменнные окружения для указания того — куда ложить CAB файл?
В свойствах CAB Project-a можно выставить "Output file name".
Но, насколько я вижу, можно выставить путь только относительно директории с солюшеном.
А что мне делать, если я должен хранить сборку в месте, которое определяется переменной окружения?
Как такое настроить в Visual Studio 2008?
Re[8]: Несколько вопросов про CAB файл
От: Аноним  
Дата: 01.02.10 14:41
Оценка:
O>В Solution Explorer выделите CAB-проект, затем зайдите в View и выберите Properties Window.

Спасибо!
Почему-то в разных проектах настройка билд ивентов находится в разных местах
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.