Hmmm 1999, so a bit old, but if it still works, then this bat is a little more 
generic.  You can just drag a font onto it and it will create the reg, copy the 
file, import the reg and then delete the reg.

One problem is that it won't pull the actual name of the font, instead it will 
use "Generic Font Description"...or whatever you put there.  You could replace 
that with "%~n1" and it would use the actual filename as the desctription.

Also note that I haven't tested this, so ymmv.

---------------snip---------------
echo REGEDIT4>font.reg
echo.>>font.reg
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows 
NT\CurrentVersion\Fonts]>>font.reg
echo "Generic Font Description"="%~n1%~x1">>font.reg

copy "%1" %systemroot%\fonts
regedit /s font.reg

del font.reg
---------------snip---------------

-----Original Message-----
From: Mike Gill [mailto:[email protected]] 
Sent: Wednesday, August 17, 2011 4:15 PM
To: NT System Admin Issues
Subject: RE: Install fonts w/out admin on Vista; bypass UAC on a DLL?

I was just having this discussion today. I wish Windows would allow for a 
separate user folder specified to look for fonts. This way you could allow 
users to dump fonts into a folder they had persmission to or a network location 
for a group of people. Anyway, here is a command line option that you could 
probably modify to suite your needs:

http://www.windowsitpro.com/article/installation2/how-can-i-install-a-font-f
rom-the-command-line-batch-file-

--
Mike Gill

-----Original Message-----
From: Ben Scott [mailto:[email protected]]
Sent: Wednesday, August 17, 2011 10:24 AM
To: NT System Admin Issues
Subject: Install fonts w/out admin on Vista; bypass UAC on a DLL?

  Win Vista with current SP/updates.  No domain.

  We want to be able to have non-admin users install fonts.

  Have removed the Hidden and ReadOnly attributes on <C:\Windows\Fonts\>.

  Have granted <Modify> permission to <BUILTIN\Users>permission on:

        C:\Windows\Fonts\
        C:\Windows\System32\FNTCACHE.DAT
        HKLM\Software\Microsoft\Windows NT\Current Version\Fonts

  Right-click a TTF and choose <Install>, and we still get a UAC elevation 
prompt (asking for a password for the admin account).

  Consensus on the Internet seems to be this is because the bits and pieces of 
Windows that do font installation are explicitly configured to require 
admin/elevation.

  Checking into that as the problem, I did find the Windows Application 
Compatibility Toolkit, which will supposedly let me create a shim database
(.SDB) which might be able to tell UAC to run a given program as the invoker, 
and not to request elevation.  (No guarantees this would work, but it's all I 
got.)

  Digging through the registry -- specifically, the shell menu stuff for 
<ttffile> -- it would appear font installation is kicked off by Explorer 
invoking FONTEXT.DLL.  I presume I can't apply a shim to just a DLL.

  Anyone have any clues on the above?

  The only other idea I've found was to use a third-party utility to register 
the font with Windows, wrapped in a script, and I may have to go that route, 
but I'd prefer to just get the regular Windows font installer to do the right 
thing.

-- Ben

~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ 
<http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

---
To manage subscriptions click here:
http://lyris.sunbelt-software.com/read/my_forums/
or send an email to [email protected]
with the body: unsubscribe ntsysadmin


~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ 
<http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

---
To manage subscriptions click here: 
http://lyris.sunbelt-software.com/read/my_forums/
or send an email to [email protected]
with the body: unsubscribe ntsysadmin

~ Finally, powerful endpoint security that ISN'T a resource hog! ~
~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/>  ~

---
To manage subscriptions click here: 
http://lyris.sunbelt-software.com/read/my_forums/
or send an email to [email protected]
with the body: unsubscribe ntsysadmin

Reply via email to