libusb driver installation with NSIS on Windows 8 - nsis

I have a problem by installing the libusb driver on Windows 8.
I generated a .inf file, which includes the device information like vid, pid, name,.... In my installer (currently generated with NSIS) I call the rundll32.exe:
ExecWait 'rundll32.exe "$INSTDIR\sys\amd64\libusb0.dll",usb_install_driver_np_rundll $INSTDIR\sys\libusbHE.inf' $0
So this part don't work with Windows 8 because I don’t have a signed .cat file. Now I used the libwdi to generate a new .inf file and the self-certificated .cat file.
I called the the libwdi (like wdi-simple) from my NSIS script. The installation works for Windows 7 and 8, but the Problem is that: when a user calls the installer again, it install the driver again (shown with pnputil.exe –e)
How can I check in NSIS, if the driver already installed or not? Or how can I uninstall all previous installed driver (from my device) automatically in the NSIS script. (Not manually like pnputil.exe –f –d <...inf>)

Related

Why is the debian installer an exe file

I recently downloaded the debian installer iso to use with virtualbox. For security reasons, I mounted it to ensure it was legit. I noticed a file labeled setup.exe. Why would a linux installer be a windows file, and how would the computer be able to run it?
I then decided to look throught the microsoft windows installer. It too used an exe file. How could it run the exe to install windows without windows instlled?
The Debian project has an installer for Microsoft Windows that provides a UI for installing GNU/Linux beginning on a MS Windows platform.
The Windows kernel can be loaded from disk and once it is loaded, like on install, it can start running a .exe file. For similar reasons Linux is an elf format binary. This is how a "Live" disk works, it loads the kernel and then loads up the entire OS including window manager from disk.
To your first question :
I bet you are running VirtualBox on a Windows client right? So there is nothing wrong with using a windows file :)

Installing a .bundle file in Fedora linux

So I am using Ozone OS which is basically just fedora with a cool theme, and a lot less crap installed. I tried installing VMWare Horizon view client from here: https://my.vmware.com/web/vmware/details?downloadGroup=VIEWCLIENTS_LINUX_32&productId=421&rPId=7320
and then i renamed the file to vmware.bundle, when i make it runnable with:
chmod +x vmware.bundle
i ran the file using:
./vmware.bundle
this is what happens in my terminal
VMWare Horizon Client is an x86 application but you are trying to install it to an x64 Linux.
To run this installation, you may need to install 32-bit runtime libraries. Do you want to proceed? (yes/no)yes
Extracting VMware Installer...done.
but when i try going to the application menu, I can find VMware anywhere
There is really no such thing as ".bundle" files on Fedora. The only format for installable software on Fedora are RPM files.
All that this ".bundle" file appears to be, is the vendor's custom installation script, that's all. It's not any kind of a standard packaging format, of any kind.
You will be able to find a newly-installed application on your application menu only if the application correctly installed a .desktop file in the right location. If this installation script did not do so, you won't get anything in the application menu.
It is the application script's responsibility to install a .desktop file in order for the application to appear in the application menu.
try running /bin/vmware
that is the default install location

Installing .exe package in background within c++ windows service

I have written windows service in VC++ that download files from server as per received file list in XML. File list contains 1) .net framework setup .exe package name 2) msi package name.
Requirement is to install these files in background, here I could perform silent installation for .msi package using msiexec and CreateProcess but for .exe package (ie. for .net framework installer) I can't do it using CreateProcess in background. How I can perform .exe installation in background within windows service application.
Most exe installs allow a silent installation, but have own and different parameters. You have to read their documentation and/or google.
Every .NET framework has slightly different parameters, but some work with "/q /norestart" for example.
E.g. google for "Aaron Stebner's WebLog".

Enthought Canopy installer does not create ~/Enthought directory in Linux

I'm using openSUSE 12.3 64bit. I successfully installed Canopy when it was released, and since then I have uninstalled it by deleting both ~/Enthgout and ~/Canopy.
Now I am trying to install Canopy again, installer works without any problem but it does not generate ~/Enthgout directory anymore. I tried to delete any cache folders but it did not work.
The installer does not generate the ~/Enthought directory. It is created during first startup. More info here: http://docs.enthought.com/canopy/configure/faq.html#where-are-all-of-the-python-packages-in-my-user-python-environment

How do I uninstall Java ME SDK from Windows 7 x64?

I try to uninstall Java ME SDK from Windows 7 x64, but it doesn't work for me.
If I choose Uninstall I get a progress bar, then it goes away, but the Software is still there.
On the first few times I did this, I got the same error message as in I need help UNINSTALLING Java ME SDK:
... show message dialog
title: Critical Error
message: Cannot load native library from path: native/jmesdk/windows/windows-x86.dll
Exception:
java.lang.UnsatisfiedLinkError:
C:\Users\Jonas\AppData\Local\Temp\nbi-8367277139934329064.tmp: Can't load IA 32-bit .dll on a AMD 64-bit platform
In ref to getting the uninstaller to use the 32-bit JRE, the config I attempted that failed to work:
a) Set the PATH environmental variable to point to the 32-bit JRE
b) Windows registry edits in HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6 to point to the 32-bit JRE.
In a last ditch effort I renamed \Program Files\Java to Java2, and the uninstaller must have searched to find \Program Files (x86)\Java, the 32-bit JRE, and the uninstall worked.
Seriously, Sun/Oracle. Test your products.
I had the exact same problem and I figured it out. :)
It's because you have the 64-bit JRE installed. Either uninstall it or somehow redirect the J2ME uninstaller to use the 32-bit JRE on your system, so that the 32-bit uninstaller can run instead of the 64-bit uninstaller.
I had the same problem and figured the solution out. As mentioned above you need to make sure J2ME unnistaller only recognizes Java x86. The simplest way I found, instead of unnistalling Java x64, you only have to temporarily rename your Java x64 installation folder to anything you want. That is, rename the folder C:\Program Files\Java to, e.g, C:\Program Files\JavaTEMP.
Now run unnistaller. When finished rename the folder back it's previous name.
That's all.
Hope I helped.
Just perform the following steps and you will be done:
1) Click on the link below and click on any of the ...i586.exe link according to your system
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
2)Install the software without changing default settings.
3)Run cmd command and type the following:
C:\Java_ME_platform_SDK_3.0\uninstall.exe --javahome "C:\Program Files (x86)\Java\jre8"
4)[optional] uninstall java 8 from control panel which you downloaded to uninstall the above software.
Congratulations.. You just did it!!
Thank you for reading.. Any suggestions or aprreciation is welcomed..
Turns out I had exactly the same problem, uninstall java (TM) 7 64bit and locate the 32-bit java installer bone this download uninstall it and try to install the Sun Java Wireless Toolkit and uninstalled correctly.
Just run this command:
C:\Java_ME_platform_SDK_3.0\uninstall.exe --javahome "32-bit jre location"
Rather than temporarily moving the x64 JRE out of the way, just tell the J2ME SDK uninstaller to use the 32bit JRE:
C:\Java_ME_platform_SDK_3.0\uninstall.exe --javahome "C:\Program Files (x86)\Java\jre7"
Note that this provides the path to a JRE within the "Program Files (x86)" directory, which is the 32bit variant. I only had a Java 7 JRE, but this ought to work with a Java 6 JRE, also.

Resources