Jump to content

Registry file refuses to install...


Recommended Posts

Hi all,

I was trying to install this reg file onto the registry...

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MBMIODRVR]
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MBMIODRVR\0000]
"Service"="mbmiodrvr"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="mbmiodrvr"
"Capabilities"=dword:00000000
"Driver"="{8ECC055D-047F-11D1-A537-0000F8753ED1}\\0000"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MBMIODRVR\0000\LogConf]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root\LEGACY_MBMIODRVR\0000\Control]
"ActiveService"="mbmiodrvr"

but it refuses to install, all i got is this error:

Registry Error

Cannot import path to file\file: Not all data was successfully written to the registry. Some keys are open by the system or other processes.

i was thinking of using the reg add function...

post-70-1087522855_thumb.png

Link to comment
Share on other sites


tried using autoit script, no effect as well:

$Key="HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root"

RegWrite($Key&"\LEGACY_MBMIODRVR",      "NextInstance", "REG_DWORD","00000001")

RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "Service",      "REG_SZ",    "mbmiodrvr")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "Legacy",       "REG_DWORD", "00000001")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "ConfigFlags",  "REG_DWORD", "00000001")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "Class",        "REG_SZ",    "LegacyDriver")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "ClassGUID",    "REG_SZ",    "{8ECC055D-047F-11D1-A537-0000F8753ED1}")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "DeviceDesc",   "REG_SZ",    "mbmiodrvr")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "Capabilities", "REG_DWORD", "00000000")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000", "Driver",       "REG_SZ",    "{8ECC055D-047F-11D1-A537-0000F8753ED1}\\0000")

RegWrite($Key&"\LEGACY_MBMIODRVR\0000\LogConf", "",              "",       "")
RegWrite($Key&"\LEGACY_MBMIODRVR\0000\Control", "ActiveService", "REG_SZ", "mbmiodrvr")

tried reg add, no effect as well. :)

i would like to know what part during installation can i write those registry entries? it seems that windows doesn't approve writing those registry entires once logged on.

Link to comment
Share on other sites

At what stage in the install do you call this reg tweak ?

If your running it towards the end by calling it in a batch, then I would suggest you try installing it earlier in the process, from CMDLINES.TXT, instead...

HTH

Kay

Link to comment
Share on other sites

In view of the post you made, while I was typing the post I made, it seems that calling it from the CMDLINES.TXT part of the setup will work...

What you need to do is....

in your $OEM$ folder, you need to place the tweak.reg file you want to apply.

Then create a text document called CMDLINES.TXT if you don't already have one, it should also be in the $OEM$ folder.

In this CMDLINES.TXT document you need to put the following....

[COMMANDS] 
"tweak.cmd"

Next create a new text file and rename it 'tweak.cmd', in this batch file you need the following code...

CLS
echo off
REGEDIT /S tweak.reg
EXIT

That will call your registry tweak much earlier during the install, before the registry has been set up and before any user is logged on, it seems likely that it should work...

If someone knows of a way to call the batch directly from the CMDLINES.TXT file without having to write a batch to call it, I would love to know how !

HTH..

Kay.

Link to comment
Share on other sites

i tried calling it during the t-13 portion of the setup.

though not directly from cmdlines.txt, i tried calling it from the runonceex.cmd (or in this case, runonceex.exe --- compiled autoit program).

during that time, just like under windows setup, an error appeared telling me that cannot be able to write on the registry or something like that. :)

Link to comment
Share on other sites

Found this

When registry keys under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet

\Enum\Root\ were created, permissions were set so that only System, an account used by the operating system, could delete or change them.

So the solution may be to get and use the Subinacl.exe to change permissions on that key then add the reg. Add the subinacl.exe to $OEM$\$$\System32 folder so its copied to System32 during setup then it can be used at any time.

Subinacl.msi - Extract and save the subinacl.exe file

Call this .cmd file and it grants Administrators permissions to Root

subin.cmd

subinacl.exe /keyreg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root /grant=Administrators
EXIT

Thats 2 lines the cmd then the EXIT on a separate line

Then call your reg file

Works for me that way.

Link to comment
Share on other sites

@maxXPsoft: wow cool! thanks! will try that one.

about Subinacl.exe... did the command you posted permanently changes permission? will it be possible to revert back to the previous permission once i have entered the registry entry?

Link to comment
Share on other sites

Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root

right click on it and you'll see Permissions... click it and you will see System has Full

Everyone has Read

Administrator's have Full after the subinacl thing.

It won't really matter to change it back because your setting it for Admin's also to Full, it doesn't remove System and everything is fine.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...