{"id":1430,"date":"2012-11-24T10:31:43","date_gmt":"2012-11-24T08:31:43","guid":{"rendered":"https:\/\/alax.info\/blog\/?p=1430"},"modified":"2012-11-23T21:53:36","modified_gmt":"2012-11-23T19:53:36","slug":"directshow-spy-easier-registration","status":"publish","type":"post","link":"https:\/\/alax.info\/blog\/1430","title":{"rendered":"DirectShow Spy: Easier Registration"},"content":{"rendered":"<p>Because <a href=\"https:\/\/alax.info\/blog\/1385\">DirectShow Spy<\/a> is often a troubleshooting tool, one of its use scenarios is its being a drop-in module to quickly install on a system of interest in order to connect to graphs for troubleshooting purposes, such as to check topology and media types.<\/p>\n<p>Its installation requires COM registration, and over time it changed gradually from simple to more and more complex step. Why? In Windows XP one had to open command prompt and <code>regsvr32<\/code>. With Vista&#8217;s UAC one needs a prompt, with privilege elevation, which opens typically in wrong directory, then <a href=\"http:\/\/en.wikipedia.org\/wiki\/User_Account_Control\">UAC prompt<\/a>. A relatively easy step became annoying multi-step operation. Then proxy\/stub classes were moved into Windows SDK DLL&#8230;<\/p>\n<p>Things are getting back to be easier with DirectShow Spy. It is given a special property sheet right there withing the DLL, to take care of all the important things:<\/p>\n<ul>\n<li>checks registration status<\/li>\n<li>buttons to Unregister\/Register<\/li>\n<li>per-user registration (not recommended though due to system wide class hooking)<\/li>\n<li>automatically takes care of UAC prompt<\/li>\n<li>place Windows SDK <code>proppage.dll<\/code> into the same directory near spy, and additional property page will help you to register this additional dependency<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2012\/11\/DirectShowSpy.dll-reg-ui.png\" alt=\"\" title=\"DirectShowSpy.dll Registration UI\" width=\"377\" height=\"432\" class=\"alignnone size-full wp-image-1431\" srcset=\"https:\/\/alax.info\/blog\/wp-content\/uploads\/2012\/11\/DirectShowSpy.dll-reg-ui.png 377w, https:\/\/alax.info\/blog\/wp-content\/uploads\/2012\/11\/DirectShowSpy.dll-reg-ui-279x320.png 279w\" sizes=\"auto, (max-width: 377px) 100vw, 377px\" \/><\/p>\n<p>To invoke registration UI, start:<\/p>\n<blockquote><p>\n  <code>rundll32 DirectShowSpy.dll,DoRegistrationPropertySheetModal<\/code><\/p>\n<\/blockquote>\n<p>from command line, or just have a <a href=\"https:\/\/www.alax.info\/trac\/public\/browser\/trunk\/DirectShowSpy\/_Bin\/Win32\/Release%20Trace\/DirectShowSpy.dll-reg-ui.bat\"><code>.BAT<\/code> file<\/a> ready to do it for you.<\/p>\n<h3>Download links<\/h3>\n<ul>\n<li>Binaries: Win32 \u00e2\u20ac\u201c <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/DirectShowSpy\/_Bin\/Win32\/Release%20Trace\/DirectShowSpy.dll\">DirectShowSpy.dll<\/a> (1.0.0.807), x64 &#8211; <a href=\"https:\/\/www.alax.info\/svn\/public\/trunk\/DirectShowSpy\/_Bin\/x64\/Release%20Trace\/DirectShowSpy.dll\">DirectShowSpy.dll<\/a> (1.0.0.806)<\/li>\n<li>License: This software is free to use<\/li>\n<li>Instructions: <a href=\"https:\/\/alax.info\/blog\/777\">original post<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Because DirectShow Spy is often a troubleshooting tool, one of its use scenarios is its being a drop-in module to quickly install on a system of interest in order to connect to graphs for troubleshooting purposes, such as to check topology and media types. Its installation requires COM registration, and over time it changed gradually&hellip; <\/p>\n<p><a class=\"moretag\" href=\"https:\/\/alax.info\/blog\/1430\">Read the full article<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,2,20],"tags":[95,78,446,449,447,448,164],"class_list":["post-1430","post","type-post","status-publish","format-standard","hentry","category-atl","category-utilities","category-wtl","tag-com","tag-directshow","tag-directshowspy","tag-registration","tag-regsvr32","tag-rundll32","tag-spy"],"_links":{"self":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/comments?post=1430"}],"version-history":[{"count":0,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/posts\/1430\/revisions"}],"wp:attachment":[{"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/media?parent=1430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/categories?post=1430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alax.info\/blog\/wp-json\/wp\/v2\/tags?post=1430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}