• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Injecting Drivers during audit mode for syspreping Windows 7 and then Fogging

    Scheduled Pinned Locked Moved
    Hardware Compatibility
    5
    25
    10.9k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MichaelDigital
      last edited by

      What folder do you Jaymes put your drivers in for windows to automatically locate them?

      1 Reply Last reply Reply Quote 0
      • Jaymes DriverJ
        Jaymes Driver Developer
        last edited by

        C:\Drivers just like that guide, but the funny thing is I never read the guide until today 😛

        Then I use RegEdit, in HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version click on “DevicePath” and enter “C:\Drivers” (remember the entries must be separated by a semicolon).

        I’ve only had issues with one particular unit we have here, C115, they change the motherboard type, and it’s been a bit of a hassle to get the chipset drivers to install untouched (Mainly because it likes to run an installer to get the drivers in place), so I just wrote a script to run the installer and added it to the setupccomplete.cmd file.

        WARNING TO USERS: My comments are written completely devoid of emotion, do not mistake my concise to the point manner as a personal insult or attack.

        1 Reply Last reply Reply Quote 0
        • M
          MichaelDigital
          last edited by

          Very Awesome. Honestly, I think I like your way better. I’ll get this going. And thanks for the quick response!

          1 Reply Last reply Reply Quote 0
          • J
            jbsclm Developer
            last edited by

            We do something similar, ie a vanilla w7 image, at the end of the install, we have a VBscript which installs the “known” items, based on the model, after which we check if certain device ids, eg, PCI\VEN_xx&DEV_xxxx, are present, and then run the installer silently with no restart, after which it reboots.
            This catches for example desktops with special video cards, or laptops where the same model can have different wireless or 3g card, which also needs its own management utility. For example you need the full ati catalyst suite to get the best from the card, rather than just the bare driver from windows.

            1 Reply Last reply Reply Quote 0
            • M
              MichaelDigital
              last edited by

              Hey Jaymes got another question for you.

              I found all my drivers that I believe I need from Dell’s website for this Optiplex 755 (only one of many kinds) and I created a folder called “Drivers” on the root of C. I next edited the registry like you mentioned, adding the ; adding “C:\Drivers”. (without quotes) My question is, the drivers I downloaded are in zip format, so I simply extracted all the drivers into their sub directories under c:\Drivers. Is windows smart enough to search threw sub directories to find the correct info by just pointing it to c:\Drivers?

              1 Reply Last reply Reply Quote 0
              • Jaymes DriverJ
                Jaymes Driver Developer
                last edited by

                Yes it can, well it does. I normally add them in folders so I know what I am doing if I need to point a driver manually 🙂

                WARNING TO USERS: My comments are written completely devoid of emotion, do not mistake my concise to the point manner as a personal insult or attack.

                1 Reply Last reply Reply Quote 0
                • M
                  MichaelDigital
                  last edited by

                  I just tried this. Man, this works great! Thanks for your help!

                  1 Reply Last reply Reply Quote 0
                  • Jaymes DriverJ
                    Jaymes Driver Developer
                    last edited by

                    Not a problem glad I could be of help!

                    Like I said it may not be the “conventional” method, but I’m pretty good about finding my ways around things 😉

                    WARNING TO USERS: My comments are written completely devoid of emotion, do not mistake my concise to the point manner as a personal insult or attack.

                    1 Reply Last reply Reply Quote 0
                    • M
                      MichaelDigital
                      last edited by

                      So,

                      Everything is working well, but I wanted to remove the driver pack from the machine’s after imaging them because they are almost 2 gigs. So, I wrote a script to remove the unattend.xml file and included to remove the drivers folder. Placed the script in c:\windows\setup\scripts\ folder so it will run automatically after computer finishes its setup.
                      Real basic, here is what it is -
                      @echo off
                      del /Q /F c:\windows\system32\sysprep\unattend.xml
                      del /Q /F c:\windows\panther\unattend.xml
                      rmdir c:\drives /Q /S

                      I think this is removing the Drivers directory before windows finishes the drivers install. Any better ideas on how I could accomplish this?

                      1 Reply Last reply Reply Quote 0
                      • Jaymes DriverJ
                        Jaymes Driver Developer
                        last edited by

                        Add a script to the END of the setupcomplete.cmd file that runs another script to remove the fill/folder.

                        Just keep chaining scripts until you accomplish the goal you desire lol

                        WARNING TO USERS: My comments are written completely devoid of emotion, do not mistake my concise to the point manner as a personal insult or attack.

                        1 Reply Last reply Reply Quote 0
                        • M
                          MichaelDigital
                          last edited by

                          LOL Good thought. And, In the end of the script setupcomplete.cmd script put a wait or a pause command to make the computer wait. Gotta look up the commands. I’ll post my finished solution.

                          1 Reply Last reply Reply Quote 0
                          • Lee RowlettL
                            Lee Rowlett Developer
                            last edited by

                            I do exactly the same to handle drivers except i get the init.gz to detect the machine model, download the relevant drivers folder (drivers in .inf form) from the closest node and then add the registry entry to devpath so all drivers (as long as they’re signed) are handled and installed by sysprep that way i can keep the image small and drivers up to date without having to modify the image - also means i can have one image per OS 🙂

                            1 Reply Last reply Reply Quote 0
                            • Lee RowlettL
                              Lee Rowlett Developer
                              last edited by

                              it also means you do not have to run an additional script after sysprep and i build my images on a VM so that there is bare minimum drivers on the image during audit mode - also means again image can stay small for faster deploys.

                              1 Reply Last reply Reply Quote 0
                              • Lee RowlettL
                                Lee Rowlett Developer
                                last edited by

                                …i’ll speak to Tom about maybe getting something implemented so any “options/pre-reqs” aren’t hard coded and you can set them from the Web GUI i.e. folder path (C:\Drivers) and maybe have a “Driver Management” page so you can manage the folders without having to do it all back end on the server.

                                1 Reply Last reply Reply Quote 0
                                • Tom ElliottT
                                  Tom Elliott
                                  last edited by

                                  Very intriguing and interesting.

                                  If you’re up to the challenge, just do like we normally do.

                                  Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                  Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                  Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    MichaelDigital
                                    last edited by

                                    Very interesting Lee,
                                    Can you go into more detail on the process of this for everyone?

                                    1 Reply Last reply Reply Quote 0
                                    • Lee RowlettL
                                      Lee Rowlett Developer
                                      last edited by

                                      Myself, Tom and james are looking to working on this as a plugin potentially may take sometime… just watch this space 🙂

                                      1 Reply Last reply Reply Quote 0
                                      • Tom ElliottT
                                        Tom Elliott
                                        last edited by

                                        Definitely!

                                        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                        Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                        Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          MichaelDigital
                                          last edited by

                                          Good news! There was nothing wrong with the script. It deleted the Drivers folder after they installed collect along with the unattend.xml. Thanks for everyone’s help! it wasn’t until I pushed the image to a different model PC that I noticed it worked correctly. The first one I was using as testing grounds, apparently is missing a driver. Thanks Again!

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            jbsclm Developer
                                            last edited by

                                            For info, the vbscript function we use to check for presence of a particular device id is below.
                                            This allows us to install the associated software as well rather than just the inf files.
                                            the command line utility Devcon is available from Microsoft at the following link.
                                            [url]http://support.microsoft.com/kb/311272[/url]

                                            Function device_present(device)
                                            Dim cmd,oShell,ScriptPath,rexec,strtext
                                            ScriptPath = Left(WScript.ScriptFullName, Len(WScript.ScriptFullName) - Len(Wscript.ScriptName))
                                            cmd=Scriptpath & “drivers\devcon find " & device & “*”
                                            'msgbox cmd
                                            Set oShell = CreateObject(“WScript.Shell”)
                                            set rexec= oShell.exec(cmd)
                                            strtext=”"
                                            strtext=Ucase(rexec.stdout.readall())
                                            if(InStr(1,strtext,“NO MATCHING DEVICES FOUND”,1) >0 )Then
                                            device_present=false
                                            else
                                            device_present=true
                                            End If
                                            'wscript.echo strtext
                                            End function

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            201

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project