<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; VBS : Регистрация библиотек]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=7168&amp;type=atom" />
	<updated>2012-05-01T12:40:53Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=7168</id>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59886#p59886" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Александр_]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24888</uri>
			</author>
			<updated>2012-05-01T12:40:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59886#p59886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59883#p59883" />
			<content type="html"><![CDATA[<p>Прошу прощения, прочитал невнимательно.<br />Отнесём этот метод к &quot; или ещё что...&quot; )))</p><p>Как быть с академической задачей про реестр?</p>]]></content>
			<author>
				<name><![CDATA[MikeSh]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24507</uri>
			</author>
			<updated>2012-05-01T08:56:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59883#p59883</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59882#p59882" />
			<content type="html"><![CDATA[<p>Это не семафорный файл, а местоположение библиотеки на скрытом ресурсе на сервере. Проверка регистрации делается путём попытки создания объекта. Если при создании объекта произошла ошибка — копируем библиотеку на локальную машину и регистрируем.</p><p>Думаю, что на JScript, с его try…catch будет нагляднее.</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-05-01T08:49:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59882#p59882</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59879#p59879" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[MikeSh]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24507</uri>
			</author>
			<updated>2012-05-01T08:42:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59879#p59879</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59878#p59878" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-05-01T08:21:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59878#p59878</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59876#p59876" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alexii пишет:</cite><blockquote><p>Чем не подошёл logon-скрипт при загрузке машины?</p></blockquote></div><p>Не то, чтобы он не подходит...<br />Скажу честно, я даже не рассматривал этот способ, но после рассмотрения выявился недочёт (не минус, а скорее некрасивость)<br />Получается, что регистрация будет происходить каждый раз при загрузке машины.<br />Нет, можно, конечно, использовать семафорные файлы или ещё что...</p><p>В общем, задача из практического приобретает академический интерес.</p><p>Каким образом можно получить все нужные ключи реестра для последующей регистрации библиотеки?</p>]]></content>
			<author>
				<name><![CDATA[MikeSh]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24507</uri>
			</author>
			<updated>2012-05-01T08:02:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59876#p59876</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59875#p59875" />
			<content type="html"><![CDATA[<p>Чем не подошёл logon-скрипт при загрузке машины?</p>]]></content>
			<author>
				<name><![CDATA[alexii]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=1844</uri>
			</author>
			<updated>2012-05-01T07:15:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59875#p59875</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[VBS : Регистрация библиотек]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=59874#p59874" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[MikeSh]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24507</uri>
			</author>
			<updated>2012-05-01T06:02:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=59874#p59874</id>
		</entry>
</feed>
