Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Куда установить библиотеки оснастки MMC (Snap In) / 5 сообщений из 5, страница 1 из 1
19.02.2014, 09:45
    #38565513
Кифирчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда установить библиотеки оснастки MMC (Snap In)
Есть некоторый сервис (вин служба), и оснастка, через которую она настраивается.

Чтобы оснастка стала доступна, её (библиотеку) нужно регистрировать программой InstallUtil
Методом "научного тыка" было определено, если библиотека расположена в папке в имени которой присутствуют пробелы - то оснастка в итоге недоступна, не смотря на регистрацию без ошибок.
Если библиотека оснастки расположена в папке в имени которой нет пробелов - то она доступна в списке оснасток.
Тут возникает сложность, программы традиционно ставятся в "c:\Program Files\", и не хочется эту традицию нарушать.
Еще у службы есть своя папочка в "c:\ProgramData\", но там такие данные, временные файлы, логи... то что пользователь может просто все почистить, размещать там dll оснастки, также, явно не по феншуй.

Вопрос.
У того же MS SQL оснастки скорей всего в "Program Files", это какой-то другой способ регистрации? отличное от "Program Files" размещение? что я делаю не так?
...
Рейтинг: 0 / 0
19.02.2014, 10:33
    #38565592
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда установить библиотеки оснастки MMC (Snap In)
Кифирчикотличное от "Program Files" размещение?Да. MS кладет свои оснастки в %WINDIR%\System32. Можешь невозбранно там найти SQLServerManagerXX.msc
...
Рейтинг: 0 / 0
19.02.2014, 10:51
    #38565619
Кифирчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда установить библиотеки оснастки MMC (Snap In)
Antonariy,
смущает, что библиотека лежит в Program Files, это видно по реестру
Код: plaintext
1.
2.
3.
4.
5.
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MMC\SnapIns\{d52e5f54-75d9-4a93-91b7-2215ea5cbed2}]
@="SqlcmSnapin"
"NameString"="SQL Server Configuration Manager"
"NameStringIndirect"="@C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\SqlManager.dll,-3"
"About"="{445c002a-faaf-4ff6-a5a9-ef8c24b9b778}"

а оснастка, как вы и сказали System32
Код: plaintext
C:\Windows\SysWOW64\mmc.exe /32 C:\Windows\SysWOW64\SQLServerManager11.msc
...
Рейтинг: 0 / 0
19.02.2014, 11:13
    #38565657
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда установить библиотеки оснастки MMC (Snap In)
dll должна работать независимо от наличия пробелов в пути. Зарегистрируй библиотеку в program files, скопируй свою оснастку в system32 и проверь работоспособность. Если работает, значит такова особенность работы системы оснасток, придется копировать свой msc в system32. Если нет, пробуй следующее.

В msc-файле есть такой раздел, это пример из SQLServerManager11.msc:
Код: xml
1.
2.
3.
4.
    <SnapinCache>
      <Snapin CLSID="{C96401CC-0E17-11D3-885B-00C04F72C717}" AllExtensionsEnabled="true"/>
      <Snapin CLSID="{f66ae3a2-97c7-4e45-9c70-4ecea8b3bfa0}" AllExtensionsEnabled="true"/>
    </SnapinCache>

Второй clsid указывает на библиотеку SqlManager.dll, через одноименный раздел в HKCR\CLSID (первый, C96401CC, одинаков для всех оснасток). Открой свою оснастку, скопипасть второй CLSID и поищи его в CLSID. Если его нет, значит библиотека тупо не зарегистрировалась, попробуй на ней использовать regasm или regsvr32. Если есть, проверь путь в InprocServer32.
...
Рейтинг: 0 / 0
19.02.2014, 11:38
    #38565711
Кифирчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Куда установить библиотеки оснастки MMC (Snap In)
Antonariy,
заработало с вариантом
- .dll в Program Files
- .msc в Sys32

спасибо )
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Куда установить библиотеки оснастки MMC (Snap In) / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]