Post Go back to editing

I need assistance in setting up a silent install script to install Scopy on Windows, with the drivers.

Thread Summary

The user is attempting to create a silent installation script for Scopy on Windows, including the necessary drivers. The final answer suggests using the Scopy portable zip file for the application and running dpinst.exe with /se /q parameters for a silent driver installation. However, the user encounters issues with unsigned drivers and hardware not being present during the installation, which prevents the drivers from installing silently. The user is advised to ensure the hardware is connected and to check if the drivers are signed.
AI Generated Content

I need assistance in setting up a silent install script to install Scopy on Windows, with the drivers.

I have tried several ideas including using the save file option to install and save the info to an inf file and pointing to it during the install. If I told it to install drivers, then it prompts the user with a gui to install drivers.

If I told it not to install drivers, and I try to silently install the drivers after Scopy installs, then it doesn't install the drivers. 

I also create a log file during the install but there is no useful information in there to point to what is not working correctly.

I thank you for any assistance I can get to create this install.

Parents Reply Children
  • Well, thanks for trying. The portable copy is not going to do me any good. Can't register in Windows.

    My install is working to properly install Scopy, I just have the same issue installing the drivers. I have tried using the one you sent, but it still wants to ask for user intervention if I run it after Scopy is installed, if I run it before Scopy is installed it will "run" unattended but it won't put anything in "Programs" I don't believe it installs.

    I have a saved inf file for installing Scopy created according to information from the scopy-v1.4.1-Windows-setup.exe /? help info.

    I am using this installation command: "scopy-v1.4.1-Windows-setup.exe" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /LOADINF="scopy.inf" /LANG=English

    Then I try to install the drivers with this command: PlutoSDR-M2K\dpinst.exe" /se /q

    I don't know if anyone has any additional information to help me. I can't get past this part.

    Thanks.

  • This is the contents of the Scopy.inf file: 

    [Setup]
    Lang=english
    Dir=C:\Program Files\Analog Devices\Scopy
    Group=Scopy
    NoIcons=0
    Tasks=deleteini,deletepreferences

  • Drivers and Scopy are two different things. Scopy installer bundles the drivers as well but this is skippable. The driver install is a regular dpinst driver install so it should be possible to silent install them if you have administrator rights. The installer for Scopy is built based on this recipe built with InnoSetup - https://github.com/analogdevicesinc/scopy/blob/master/scopy.iss.cmakein 

    The installer for the m2k drivers are built based on this recipe - https://github.com/analogdevicesinc/plutosdr-m2k-drivers-win/blob/master/dpinst.xml 

    I don't know if this information helps you or not .. 

    -Adrian

  • Oh, no, that isn't helping at all, I already had looked at those files during my troubleshooting process. I need the developers to chime in and give me some assistance because I am running these with an Admin install tool that elevates the privileges and the installs are not acting right to give us a fully unattended install. Manual install is fine. If the developers see what I have posted above, they may be able to tell me if I need to change an option or do something differently. Thanks anyway.

  • I am the main developer of Scopy. We have not developed the installer tool ourselves, but rather dpinst is a driver install tool from Microsoft.

    You can compare the output of dpinst.exe /c  (user install)

    and the output of dpinst.exe /se /q /c (unattended install) -

    On my machine the output is the same.for both.

    We can look into the logs but it sounds like your issue is not driver specific but rather install tool specific, and we cannot really advise on dpinst behavior.

  • Ah, well, that makes sense, I have run the dpinst.exe installs many times before from other driver suppliers without issue but didn't use those switches. Only used /s before, which also does not help in this instance. What does the /c do? Is there a log for dpinst when it runs? When I save the Scopy install to the Scopy.inf and choose to add the drivers through there, I get the same results where it want to ask the user to click next when it tries to install the drivers after installing Scopy. And I can send that install to a log file bit it didn't reveal anything about why it asks for user intervention. It is like it is not passing along the run silent switches.

    Is there someone I should talk to that supplied that driver install for this product?

    Thank you for your response and assistance.

  • c:\Program Files\Analog Devices\PlutoSDR-M2K>dpinst.exe /h
    
    C:\Program Files\Analog Devices\PlutoSDR-M2K\dpinst.exe: installs and uninstalls driver packages.
    By default, the tool searches the current directory and tries to install all driver packages found.
    
    Usage: C:\Program Files\Analog Devices\PlutoSDR-M2K\dpinst.exe [/U INF-file][/S | /Q][/LM][/P][/F][/SH][/SA][/A][/PATH Path][/EL][/L LanguageID][/C][/D][/LogTitle Title][/SW][/? | /h | /help]
    
    /U INF-file Uninstall a driver package (INF-file).
    /S | /Q Silent (Quiet) mode. Suppresses the Device Installation Wizard and any dialogs popped-up by the operating system.
    /LM Legacy mode. Accepts unsigned driver packages and packages with missing files. These packages won't install on the latest version of Windows.
    /P Prompt if the driver package to be installed is not better than the current one.
    /F Force install if the driver package is not better than the current one.
    /SH Scans hardware for matching devices and only copies and installs those drivers for which a device is present. Only valid for Plug and Play drivers.
    /SA Suppress the Add/Remove Programs entry normally created for each driver package.
    /A Install all or none.
    /PATH Path Search for driver packages under the given path.
    /EL Enables all languages not explicitly listed in the XML file.
    /L LanguageID Tries to use the given language in all UI. Useful for localization tests.
    /SE Suppress the EULA.
    /C Dump logging output to attached Console (Windows XP and above).
    /D Delete driver binaries on uninstall.
    /SW Suppresses the Device Installation Wizard, the operating system might still pop-up user dialogs.
    /? | /h | /help Shows this help.
    
    c:\Program Files\Analog Devices\PlutoSDR-M2K>

    /C dumps output to the console 

    Scopy install will not call dpinst with the silent switches. This is coded in the installer script here: https://github.com/analogdevicesinc/scopy/blob/master/scopy.iss.cmakein#L264 . The drivers are created by us, and packaged with the dpinst installer according to the xml I previously linked. dpinst is a Microsoft tool, and not developed/maintained by us. You can try contacting Microsoft :) 

    Did you try running dpinst in the Windows Console and the switches are not passed ? Or this only happens during autmoatic installation ? (it sounds like there is an issue with the your particular setup and not the driver itself).

    The help also mentions that dpinst "searches the current directory". Can you try changing the working directory before calling it ? (i see you are running it like this - "PlutoSDR-M2K\dpinst.exe" )

  • I unpacked your drivers from Github and that is the folder it created, so I am really calling it like this: Call "%~dp0PlutoSDR-M2K\dpinst.exe" /se /q, and I have a feeling from what I am seeing is that in a silent mode it runs using the dpinst.xml, which in any of the copies I have are very generic and have no unattend commands in them, so I may try to edit one and see if I can make it run.

    However I appreciate the switch info above for dpinst.exe, I may try some out of there and see if I can get a log and try to get that to run unattended.

    Oh, and for testing the commands, I use an elevated command prompt to run a batch file with the commands in it until I find one that works, then I put them into a package for deployment.

    Thanks again for so much info.

  • So now using some of the new switches and the /c I can see it has two return codes, one of which indicates that a driver in the folder is not signed. ( 0xE0000242 and 0x80040000 ) 

  • as it turns out, as I remove one driver at a time that it fails on, that it fails on all the inf files in that folder.