Installing unsigned x64 driver to work with libusbdotnet - libusb

I am currently in a Windows 7 dev. environment working to get a device to initialize with libusbdotnet.
The device (a USB mass storage device) connects and runs using the default USB-MASS Storage driver for Windows. I want to replace this driver with the one created by the .INF Wizard in libusbdotnet.
The operating system is a 64-bit, and by default the INF Wizard produces this driver, but I am unable to selected it because it is "unsigned" I believed, when I go to "Pick from a list of drivers" and point to the directory where the newly created device drivers are.
I have enabled "TEST MODE" using DESO but I'm still unable to select this file.
Anyone familiar with libusbdotnet, or directing devices to work with a specific driver that is unsigned in Window (do I need the .inf file? or the .sys???) do you have any advice about where I'm going wrong?
Thanks!

64-bit windows doesn't like unsigned drivers. You need to get a Software Publishing Certificate from MS (costs a few hundred $$$). Then you need to use inf2cat to make a security catalog out of your inf and sys files, then you sign them with signtool and your SPC. Then they will install on 64-bit Windows.
You can create your own self-signed certificate, without paying MS. However, the self-signed certs only work on your machine, and only work in Test Mode.

Related

Is there a way to work with PyUSB under Windows (10) without changing drivers?

I tried to run PyUSB under Windows and in a first test simply wanted to read out all my USB devices with usb.core.find(find_all = True). But that failed with backends iibusb0 and libusb1. Meanwhile I read several times that I need to change the driver of the device I want to talk to through PyUSB eg using Zadig.
As I want to use the devices with different programs I can't change drivers.
So my questions are:
is changing the driver the only way to use PyUSB?
what other options are there for USB under Python and Windows
I downloaded USBTreeView and that runs fine - without changing any drivers. How does it do it? (I know its not Python)
Thanks for any help
Martin

How to set up a PDF network printer that will keep the PDF file

I would like to find a way to have a Windows computer share a virtual PDF printer with other local computers (that first part is easy!). However, I would like the PDF to be saved on the print server and not on the computer from which the print out is initiated. Any idea how to do that?
This is going to depend on your skill at resolving other driver problems.
I was able after several false starts to get a 32bit Win 7 peer user (admin) to print on My Win 10 restricted user Virtual printer. But the output result is not great so would need to dig deeper, than I need, just to find out why.
I used a GhostScript Virtual Printer since It allows remote users on network to download its drivers for ARM x64 and x32
It is hosted on a 64bit Win 10 restricted account so I had to jump through hoops to get it seen and accessible on the network, and then had to dig into it share settings to see 32bit/Arm clients need an extra check box on.
It took some challenges to get the 32bit client to see printer was available but it ran from there with the above test page output in the 64bit printme folder, Whilst monitoring that file visually real-time a print from the client was transmitted and instantly appeared on the host screen without noticeable corruption unlike the test print!!.
So an issue you could have is how to stop clients from overwriting the file whilst they are post processed (renamed like in a port redirection monitor) since my GS virtual printer uses a single named NoPromptPort.pdf
Your question should in effect be answered, However My Question is why go this route? It would be so much simpler efficient and reliable for each client to MSPrint to NoPromptPort.PDF then simply copy their renamed.PDF to a server folder.

TIA PORTAL v11. Open existing project

I have to use an existing project in STEP7/TIA PORTAL v11 and I have the PLC (CPU 1212C AC/DC/RLY) with the code downloaded inside it which is connected to a touch panel (KTP600 Basic Color PN).
What I want is to download the code from the PLC to my computer to try to modify it, is this posible?
Because I've tried to connect it to my PC and it doesn't detect it. It turns on the ERROR and the MAINT leds in red.
The configuration is over a virtual machine (VMware player with Windows 7) because my PC has Windows 8 installed and it doesn't support TIA PORTAL is there any problem with this?
If program was uploaded with TIA11 it is not good idea to use v13. What is more with other version you need new licence keys.
From your vm ping the plc address if itis in right subnet. Then serch for sccessible nodes. On your picture i see that you should try using 'search all accessible devices'.
Upgrade to version 13 of TIA Portal. This version can run under Windows 8.
Under VMWare you have to change the network settings for your Virtual Machine to bridged. Also install VMWware Tools.
Those are some steps that I would try.
make sure you can ping it from inside your Virtual Machine. It will validate the route to the plc (cable, network config). It’s not a necessary step to connect to a plc, but it’s a good check.
Go to Control Panel on Windows, then PG/PC , then make sure that you have the right Hardware Interface Active
If you still not able to see the PLC, I advise you to to download PRONETA, if it still doesn’t show up there, then the research would have to go deeper. Until today, I’ve only one time in all year when a device have not apeares in Proneta.

error during execution of application using GpsPositionRequest class

i'm caught in a problem.
i'm developing an application based on lbs and referred the code given in (forum.nokia.com/wiki) GpsPositionRequest.zip
when i try to install the app on device it gets installed successfully but while executing it shows error "unable to execute for security reasons"..
i've signed the sis file using carbide C++.
my mmp file include the capabilities:
ReadDeviceData,
WriteDeviceData,
Location,
NetworkServices,
ReadUserData.
my class uses TPositionInfo,RPositionServer,RPositioner
does it need any other capability??
(i'm using carbide c++ and s60 3rd edition fp1)
Location is the capability you need.
What kind of signing key/cert are you using? Does it have the required capabilities?
Updated after comments: In 3rd edition FP1 the Location capability is a system capability that cannot be granted with a self-signed certificate. (It became a user capability that works with self-signed cert in Symbian OS 9.3 i.e. FP2.)

Automatically launch app on USB (through autorun?)

Is it possible to automatically launch an application from a USB flash drive (bypassing windows prompt asking user what he wants to do)? on windows XP or vista.
I looked into "autorun.inf" and "open" entry seems to work only for CD drives for Windows XP SP2+ and Vista. Is it possible to launch program automatically on all windows versions?
I don't care if autorun is disabled by user in Windows settings.
First of all, some people choose to disable autorun for security reasons; but Windows computers up to Vista have it enabled. Edit: Apparently the functionality was removed from Windows 7 onwards.
Put a file named autorun.inf in the root of your USB flash drive. This is what's in mine:
[Autorun]
Open=PStart.exe
Action=Start portable apps
Icon=diskicon.ico
What it does: when you insert this disk, starts PStart.exe
On older computers, the program specified in Open= will launch automatically.
On most modern computers (Windows XP SP2+, Vista), dialog "what do you want to do" will be displayed (for security reasons), but what you have in autorun.inf will display as the selected default, with Icon= as icon and Action= as description. If you want to launch it, just click the "OK" button in the dialog.
So, although I'm not aware of any way to start the application (e.g. PStart) immediately, it is possible to insert flash disk with this configuration and start application by clicking OK.
Tested on different computers, running Windows XP without a SP, also on Windows XP sp 1, sp2, sp3, and on various Vistas (not sure which types, but should work all the way from Vista Home Basic to Vista Enterprise Super-Mega-Premium-Extended Edition) and "Windows 7". Also works on Windows 2000 (although autorun on Win2000 for removable drives is not enabled in default configuration).
Note that some applications, in addition, may trigger the "unknown/unsigned exacutable" security dialog, as if you opened them manually.
Edit: For more details, see also:
Autoplay in Windows XP: Automatically Detect and React to New Devices on a System
I've had something set up on my USB keys for a while now. Using the autorun.inf file will work, depending on your system's settings for autorun. Some disable it altogether after that little debacle with Sony a couple years back installing rootkit software on peoples' machines. Here're a couple articles to check out.
Label a Flash Drive with Your Name and Number
Have Your Lost USB Drive Ask For Help (1) or 2
you need UseAutoplay to let this work on usb.
and if you take ShellExecute instead of open you can also open scripts/documents/...
[Autorun]
ShellExecute=System\something.exe
UseAutoplay=1
there are also U3 usb sticks arround, they will be reconised as cdrom drives in windows.
if you put an a autorun.inf on one of those, it will get executed without the user being questioned.
regards morla
I found the solution in this blog
How To Auto-Launch Apps With A USB Stick [Windows]
It worked fine for me
(the article explains how to do it with AutoIT, a 3rd party app that must be installed on the host computer)