Jag har en .reg-fil som jag  tänkt att importera in i registret via ett logonscript (en vanlig .bat) Precis som med allting annat som har med rättigheter att göra, logga in med en användare som har rätt rättigheter! De är där ju nämligen av ett skäl, just för att inte vilken användare som helst ska få göra vad som helst! Anledningen är att jag använder en 3-part dll som måste finnas på klienten. Rätt (TM) sätt att lösa det på är att paketera dll-filen i ett MSIpaket som du sedan distribuerar via tex AD eller SMS som då får högre rättigheter. Om man kör alternativet vbsfil med run asSkriva till registret, komma runt säkerhet...
    
    
Problemet är att jag i en av .regfilerna måste skriva i HKEY_LOCAL_MACHINE och HKEY_CLASSES_ROOT
Det funkar inte om inte användaren har admin/previliegiade rättigheter
Att skriva i HKEY_CURRENT_USER funkar däremot alldeles utmärkt.
Någon som har en susning om hur jag kommer runt problemet?Sv: Skriva till registret, komma runt säkerhet...
    
    
Av vilken anledning vill du skriva med en regfil, och av vilken anledning vill du ändra just de värdena på just de platserna?Sv: Skriva till registret, komma runt säkerhet...
    
    
Regfilen "Registrerar" dll'en efter jag kopierat dit den.
Sedan så måste det finnas en viss nyckel där man säger vilka URLar den ska ta hand om.
Dll'en är till för att slippa att .doc öppnas i browsern utan istället låta Word öppna det fristående.
LaunchinIE heter den...Sv: Skriva till registret, komma runt säkerhet...
    
    
Ett alternativ är att du kör ditt inloggningsskript via VBS och kör installationen av dllfilen med RunAs som admin. problemet med detta är att en användare kan se adminlösenordet om han kikar i VBS-filen, vilket inte är så skoj. Det finns en VBS-krypteringsmojäng, men den har fått dålig kritik!Sv: Skriva till registret, komma runt säkerhet...
    
    
Hur lägger man upp det med Run As?
Att admin syns får jag ta...får gömma undan den så gott det går :-)
Jag har en vbsfil:
<code>
Dim fso
Dim WshShell
Dim Dummy
Dim strSourceFile
Dim strDestinationPath
'Set paths
strSourceFile = "\\alla\Gemensam\IT\IE\LaunchinIE.dll"
strDestinationPath = "C:\InetDLL\"
' Create File System Object
Set fso = CreateObject("Scripting.FileSystemObject")
' Create Shellobject
Set WshShell = CreateObject("WScript.Shell")
'Check if folder exists
If Not fso.FolderExists("C:\InetDLL") Then
    'Create folder
    fso.CreateFolder ("C:\InetDLL")
End If
'Check if LanunchinIE.dll exists in "c:\InetDLL"
If fso.FileExists("C:\InetDLL\LaunchinIE.dll") Then
    'Check if the dll is registered
    On Error Resume Next
    Set Dummy = CreateObject("LaunchinIE.Launch")
    If Err <> 0 Then
    'If No register
    Err.Clear
'Här ska det kollas vilken version av os man har så att regsvr32 funkar
	If ver = XP 2000 osv Then
    		WshShell.Run "COMMAND /C regsvr32 /s c:\InetDLL\LaunchinIE.dll"
	Elseif bla bla bla
		WshShell.Run "COMMAND /C c:\windows\system\regsvr32 /s c:\InetDLL\LaunchinIE.dll"
	End if
    Else
    'If Yes just kill it
    Set Dummy = Nothing
    End If
    'Clear the Error
    Err.Clear
    On Error GoTo 0
Else
    'Copy the dll to desired folder
    fso.CopyFile strSourceFile, strDestinationPath, True
    ' Register the dll
    Err.Clear
'Här ska det kollas vilken version av os man har så att regsvr32 funkar...
    If verOS = 2000, xp osv Then
    	WshShell.Run "COMMAND /C regsvr32 /s c:\InetDLL\LaunchinIE.dll"
    ElseIf
	WshShell.Run "COMMAND /C c:\windows\system\regsvr32 /s c:\InetDLL\LaunchinIE.dll"
    End if
End If
' Allocate some memory
Set WshShell = Nothing
Set fso = Nothing
</code>
Är inte riktigt klar med kolla av version av OS som du ser...
Sedan är jag inte klar med att kalla på Regfilen eller skriva direkt till registret