I'm a software developer a printer manufacturer. Recently asked a driver. So i start digging for tutorials, samples, articles.
First thing i do, i downloaded the Windows Driver Kit 7600.16385.1. I install it, build it with some sample drivers (For example, generic/text only). I changed the manufacturer section in the inf file and worked fine. But i asked to do more specific driver, getting data from any application that can print and send it to our printer.
At this point i do some extra digging, installing Visual Studio 2013 and winddk 8.1. I try the v4 printer driver sample out of the box. I managed to build it (Inf to cat acting strange, so i disabled it project properities). Then i try the installing a printer with new driver. Driver software wasn't installed at all. I get through inf syntax, found some erros and fix it the problem. After then I keep getting 0x00000002 error. I managed to solve problem, then i getting 0x0000003 error.
So, i write down a inf intaller c# project, managed to install driver. Driver was showing up in printer drivers section, but i try the install a new printer, installation keep getting failed with error 0x0000003. I do some search about error, i found it's path_not_found error. I check my inf file, doing some syntax checking. I put some effort there, but i keep getting error 0x0000003.
What i do for solving the problem?
In forums, people say it's a priviledge problem causing this error in windows credentials. I setup new admin account and install the driver. But when try the setup a printer error is same.
I investigate windows logs under windows folder: setupapi.dev.log and setupact.log. In this section i find 0x0000002 errors, but not found 0x000003 errors. This is not helpful for me.
Some people in the forums says may be pre installed drivers and printer causing problems. I uninstall the drivers and printers under system32 driverstore. Also uninstall the printer sevices and printers section under control panel. Result is same.
I found channel9, it's microsoft development network some sort of. I found some video tutorials and slides about development. I watched HW-328T, HW-238T, HW-979P, HW-981P, HW-903T, HW-322T. This videos gave me some insight, but nothing more.
So i keep digging problem, using eventwiever tool by windows. Found HRESULT 0x80070003 error. It's a printer spooler error log says. I restart the spooler, error continued, i restart service and restart the computer, error continues.
I try the old entries of my driver Registry Editor. Result is same. I managed to get admin privilidges of windows folder, it didn't make difference.
I try the install new printer using command line with admin privlidges, result is same.
Numerous attemps for installing on 64 bit and 32 bit windows.
Also i try using GPD, PPD types.
My Code Samples.
INF File
[Version]
Signature="$Windows NT$"
Class=Printer
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318}
Provider=%ManufacturerName%
CatalogFile=Ali.cat
ClassVer=4.0
DriverVer=08/01/2012,1.0.0.0
[DestinationDirs]
DefaultDestDir = 66000
[Manufacturer]
%ManufacturerName%=Ali,NTia64,NTamd64
[Ali]
"Ali V1" = Ali.GPD
[Ali.NTia64]
"Ali V1" = Ali.GPD
[Ali.NTamd64]
"Ali V1" = Ali.GPD
[SourceDisksNames.amd64]
1= %DiskName%,,,
[SourceDisksFiles.amd64]
Ali.gpd = 1
[SourceDisksNames.ia64]
1= %DiskName%,,,
[SourceDisksFiles.ia64]
Ali.gpd = 1
[Strings]
ManufacturerName="Ali"
DiskName="Ali Installation Disk"
My C# Function Code for installing inf files
if (SetupCopyOEMInf(inf_path, "", 2, 0x0000400, null, 0, 0, null))
Thanks in advance.
Note: if needed, i can post gpd file also.
It would appear that you do not have a copy section in the INF file that should look something like:
[Ali.GPD]
CopyFiles=#Ali.gpd
The Inf file requires this to know what files to copy.
Here is the relevant MSDN doc on this topic.
Hope this helps.
First of all, you have to consider your processor architecture. Absolutely your driver will not work on on x86 or ARM based architecture since related sections did not included in your sample .inf file.
Additionally there is no Install section (Copy File directive) in your .inf file while as it is mandatory to include (specially if you intended to use INF based setup APIs). For creating a minimum working .inf file see here.
Finally, how do you install the printer driver? Do you using a Driver Package? if yes, how you sign it while you mentioned that the inf2cat process bypassed in your work? (may by you are developing in "Disabled Driver Signature Enforcement" mode!). otherwise, without any .gpd or .ppt file how you are going to install a printer? What do you expect from your printer?
By adding some code snippet, may be people could help more.
Related
I have some problem about .exe files.
I writed a program using "visual studio 2019" (using MariaDB and Qt).
The exe file that compiled this program works normally on my PC. But when I run it on another PC, the error message below will be printed out.
"The Application Was Unable to Start (0xc000007b)"
In order to solve this problem, i tried something below as:
check xinput1_3.dll in C:\Windows\SysWOW64
install Microsoft Visual C++ 2015-2022 Redistributable(x64) - 14.34.31931
install all runtimes using "All in One Runtimes"
However, the program still doesn't work.
If anyone can help me, I really appreciate it.
enter image description here
I tried using DependencyWalker and provided DLL files at same path.
However, "The Application Was Unable to Start (0xc000007b)" is still occurs.
That error code typically indicates you are missing one or more needed DLLs on the other computer. Dependency Walker is an excellent tool for figuring out which one it is.
Download it on the other computer and use it to analyze your .exe there.
I have read nearly all of the material on Microsoft's MSDN site, used Google (for the limited information that is out there) and also looked at the answers on here but I'm still confused on how to develop a NDIS driver.
My aim is to create a ndis driver so I can capture the network packets and decide whether I want to drop them (possibly inject as well) or allow them to pass.
From my research it would seem that I need to create an intermediate NIDS driver and after installing WDK (I'm using Visual Studio 2015 enterprise) I don't know where to begin (do I need to start with a KMDF project?).
Also, when I did load a KMDF driver project nearly all of the header files are getting highlighted by Intellisense as having errors (expected an identifier, NTSTATUS is underefined)?
Can anyone give some assistance on how to start please?
I have recently created a packet sniffer using the WinPcap library (and also used it to send packets) but there was a lot of information out there that helped me. Unfortunately, with NDIS it doesn't seem to be the same.
I can't seem to find the samples either
Okay, so a simple clean install of Visual Studio 2015 and WDK 10 is all that is needed to set up the environment for creating a driver.....
But then comes the deployment part
Apologies in advance for the dated software question:
According to Code Composer help documentation the "Memory Load/Save Utility" should be be in the Tools menu. In my Code Composer 3.3 (which I have to use for this project, so I cannot upgrade), does not have this option in the tools menu, or any menu that I could find. It is not greyed out - it is just simply missing as far as I can tell. I've changed every view option to try and enable this.
Can anyone help me figure out how to enable/activate this option? Does the processor need to be in a specific state? Is this a special plug-in that I can't find?
Here is my setup:
Code Composer 3.3, Windows Xp, Using a Spectrum Digital xds510pp JTAG emulator on a TI ARM 9 processor.
Specifically the option is here: 13. Memory Load/Save Utility:
http://www.ti.com/lit/an/spraa07c/spraa07c.pdf
[EDIT] The File > Data > Save - this is not the same as the Memory Load/Save Utility. This sounds similar but does not export the values.
For example, I need to export data at a certain memory address for a certain length into a hex format.
Somehow my installation went bad.
I checked the Code Composer Studio Component Manager by running C:\CodeComposer3.3\cc\bin\comp_mgr.exe. Now, in this window un the TI node, there should be numerous plugins and one of which should be: "Memory Save/Load Utility Control..."
For me this was missing.
Repairing the installation via windows control panel did not work. I had to uninstall and then reinstalled. Upon reinstalling a TMS470 driver was reported missing. Not sure why this was.
Again, I uninstalled then complete removed the C:\CodeComposer3.3\ directory, then reinstalled. This time everything seemed to have worked and I do have the Memory Save/Load Utility and it is working.
EDIT:
It should also be noted that the plugins are bundled with the installer and could not be re installed separately.
In my school days, i developed a hotel management system in legacy programming language foxpro 2.6. Few months ago, i revived the application and its running pretty well on windows xp. But, i am stuck at printing. Right now i am printing the page to a text file. Afterward i manually open the file and call the print function on that.
I googled and found no effective tutorial or link or anything as to how can i get to print directly from foxpro 2.6. The printer is USB supported and i have tried the trick of adding another printer for virtual port LPT1 and then spooling. Nothing worked.
Later i downloaded an application which acts as a spooler and sends any file that is added to the specified directory to Printer. Still, no success.
Can anyone help me with a short example, a link or a tutorial which guides me to the printing settings in foxpro 2.6
Thanks !!
Install the printer and share it. You may need to set permissions to allow Authenticated Users to use the printer.
Add NET USE LPT1: \CRAIG\USBPRINTER to the logon script for the user's profile.
For help on logon scripts, look up "To assign a logon script to a profile" in XP Help.
Not true - it works perfectly well in Vista and Windows 7, as long as they are the 32-bit versions of those operating systems.
You might find the following useful. Disclaimer: I wrote it a long time ago.
Painless Legacy FoxPro Applications On Modern Networks
Hi
I am a noob trying to setup my computer so i can make a social networking website.
Sorry if its not kosher to ask here, but Hopefully one of you smart guys can help me.
I want to test some CMS (content management systems), firstly Elgg and then some others.
As far as ive read i can do this by using a virtual machine like VMware Player.
Now originally i wanted to try out Insoshi so i tried to use Cygwin and GitBash (also Putty tools) to download it (with no success). This involved me installing those programs and also trying to get an ssh environment variable working. So i gaveup on that (seeing that Elgg has more support anyhow i thought id try to try that). I uninstalled these programs, deleted leftover directories and deleted the added environment variable.
I also uninstalled DaemonTools (cos i thought it may be conflicting).
Im running Windows Vista 32bit and have always downloaded relevant installs for that system.
My problem is the VMware Player installer isn't doing anything. I launch it and it seems to hang straight away see pic
Am i missing something here?
Vmware page also suggests a virtual appliance (for cloud stuff) which i dont know much about yet. And i think that appliance is installed via the player else an image loader like Daemon Tools. Do i need this appliance first?
Why is the player not installing?
Ive tried both 3.14 and 3.13 build with same result?
I have about 4 gig of space left on my hd and have 3gig of ram.
I have looked at the programs installed on my computer and cant seem to find anything else that might conflict (but i am a n00b) and i also tried pausing my kapersky pure protection. Any help is severely appreciated, thanks.
As I recall there were a couple of conflicts with vmware
A quick look through the vmware forums I see:
visualsvn
virtualPC (no surprise)
nvidia 270.18 beta driver
avg
I also remember there being talk on the forums about a specific executable name which caused issues, but Im struggling to remember what it was.
start regedit.exe
Browse to the following sub-key: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\
You should see keys named 0, 1, 2, 3 and 4. In my case I had a folder named "L" before the 0.
Remove the key with "L" (actually it is "└", unicode #2514)
P.S. This is due to Microsoft screws up the registry Internet Zone settings in the registry. With the "└" key, it cause Javascript not to be called from an application.
Got it from here.