<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBS : Регистрация библиотек]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=7168</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7168&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBS : Регистрация библиотек».]]></description>
		<lastBuildDate>Tue, 01 May 2012 12:40:53 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59886#p59886</link>
			<description><![CDATA[<div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>Как быть с академической задачей про реестр?</p></blockquote></div><p><a href="http://blog.not-a-kernel-guy.com/2007/04/13/172">http://blog.not-a-kernel-guy.com/2007/04/13/172</a></p>]]></description>
			<author><![CDATA[null@example.com (Александр_)]]></author>
			<pubDate>Tue, 01 May 2012 12:40:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59886#p59886</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59883#p59883</link>
			<description><![CDATA[<p>Прошу прощения, прочитал невнимательно.<br />Отнесём этот метод к &quot; или ещё что...&quot; )))</p><p>Как быть с академической задачей про реестр?</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 01 May 2012 08:56:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59883#p59883</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59882#p59882</link>
			<description><![CDATA[<p>Это не семафорный файл, а местоположение библиотеки на скрытом ресурсе на сервере. Проверка регистрации делается путём попытки создания объекта. Если при создании объекта произошла ошибка — копируем библиотеку на локальную машину и регистрируем.</p><p>Думаю, что на JScript, с его try…catch будет нагляднее.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 01 May 2012 08:49:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59882#p59882</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59879#p59879</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Отчего так?</p><div class="codebox"><pre><code>...
If .FileExists(.BuildPath(strDLLShare, strDLLName)) Then
...</code></pre></div></blockquote></div><div class="quotebox"><cite>MikeSh пишет:</cite><blockquote><p>Нет, можно, конечно, использовать семафорные файлы или ещё что...</p></blockquote></div><p>Собственно, это я и имел ввиду, говоря о семафорных файлах. В своё время так и делал. Правда это было в логон-скрипте пользователя и библиотека была упакована в rar-sfx. Но это не важно, вопрос остаётся открытым.</p><p>Каким образом можно получить все нужные ключи реестра для последующей регистрации библиотеки?</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 01 May 2012 08:42:28 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59879#p59879</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59878#p59878</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Получается, что регистрация будет происходить каждый раз при загрузке машины.</p></blockquote></div><p>Отчего так?<br /></p><div class="codebox"><pre><code>Option Explicit

Dim strDLLShare
Dim strDLLName

Dim objSvcsvc


strDLLShare = &quot;\\Server\Share$&quot;
strDLLName  = &quot;SvcSvc.dll&quot;

On Error Resume Next

Set objSvcsvc = WScript.CreateObject(&quot;Svcsvc.Service&quot;)

If Err.Number &lt;&gt; 0 Then
    On Error Goto 0
    
    With WScript.CreateObject(&quot;Scripting.FileSystemObject&quot;)
        If .FileExists(.BuildPath(strDLLShare, strDLLName)) Then
            .CopyFile .BuildPath(strDLLShare, strDLLName), .BuildPath(.GetSpecialFolder(1).Path, &quot;\&quot;)
            WScript.CreateObject(&quot;WScript.Shell&quot;).Run &quot;regsvr32.exe /s &quot;&quot;&quot; &amp; .BuildPath(.GetSpecialFolder(1).Path, &quot;\&quot; &amp; strDLLName) &amp; &quot;&quot;&quot;&quot;, 0, True
        End If
    End With
Else
    On Error Goto 0
End If

WScript.Quit 0</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 01 May 2012 08:21:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59878#p59878</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59876#p59876</link>
			<description><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Чем не подошёл logon-скрипт при загрузке машины?</p></blockquote></div><p>Не то, чтобы он не подходит...<br />Скажу честно, я даже не рассматривал этот способ, но после рассмотрения выявился недочёт (не минус, а скорее некрасивость)<br />Получается, что регистрация будет происходить каждый раз при загрузке машины.<br />Нет, можно, конечно, использовать семафорные файлы или ещё что...</p><p>В общем, задача из практического приобретает академический интерес.</p><p>Каким образом можно получить все нужные ключи реестра для последующей регистрации библиотеки?</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 01 May 2012 08:02:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59876#p59876</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59875#p59875</link>
			<description><![CDATA[<p>Чем не подошёл logon-скрипт при загрузке машины?</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Tue, 01 May 2012 07:15:56 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59875#p59875</guid>
		</item>
		<item>
			<title><![CDATA[VBS : Регистрация библиотек]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=59874#p59874</link>
			<description><![CDATA[<p>Общеизвестно, что библиотеку можно (нужно) регистрировать<br /></p><div class="codebox"><pre><code>RegSvr32 &quot;Путь\К\Библиотеке.dll&quot;</code></pre></div><p>Так же известно, что вся эта процедура - ни что иное как прописывание значений в реестр. В частности, это можно узнать <a href="http://forum.script-coding.com/viewtopic.php?id=1058">тут</a>.</p><p>Ситуация.<br />Есть библиотека, пока не зарегистрированная.</p><p>Нужно.<br />Зарегистрировать её по всему домену (ну или на произвольном количестве рабочих станций, это не важно)</p><p>Решений я вижу 2<br />1) Раскидать библиотеку и каким-то образом, предположим через PsExec, запускать RegSvr32 &quot;Путь\К\Библиотеке.dll&quot; на каждом компьютере.<br />2) Раскидать библиотеку и прописать её в реестр.</p><p>Первый способ, не смотря на простоту реализации, имеет недостаток в виде запуска regsvr32. У пользователя может и не быть прав, а подключаться к каждому компьютеру не всегда удобно.</p><p>Второй способ мне кажется более удобным и логичным для домена.<br />С учётом появления Group Policy Preferences (GPP), раскидать файл и прописать данные в реестр стало просто, и сделать это можно без участия пользователя, однако тут свои грабли. Собственно, по ним у меня и вопрос.</p><p><strong>Вопрос</strong><br />Есть ли какой-нибудь способ сформировать .reg для любой библиотеки?</p><p>Поясню.<br />Есть библиотека, скажем, SvcSvc.dll.<br />Нужно установить её на компьютер через реестр.<br />На своём компьютере я запускаю что-либо, которое формирует SvcSvc.reg.</p><p>Я пытался делать это путём сравнения реестра до и после регистрации. То ли терпения не хватило, то ли не учитывал чего-то, в общем не срослось...</p><p>Может быть, кто-нибудь заморачивался этой идеей?</p>]]></description>
			<author><![CDATA[null@example.com (MikeSh)]]></author>
			<pubDate>Tue, 01 May 2012 06:02:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=59874#p59874</guid>
		</item>
	</channel>
</rss>
