Remove corrupt Win32_Product-Entry - powershell

I've got a service which I can't completely uninstall. Some time ago, I uninstalled it but now I realize it wasn't fully removed. The setup was created using InstallShield LE. I realized I still have it on my machine when I tried to install a new version.
If I try to install the new version it says that the old version can't be removed. I was curious because in "Programs and Features"-window there is no entry of the application. However, I checked WMI Win32_Product class and in fact, there is the entry of the application.
I tried to remove it using the uninstall()-method with PowerShell. I used a snippet which you can find here: https://msdn.microsoft.com/de-de/library/aa393941(v=vs.85).aspx
It didn't work as well, but at least I got a nice error message saying I can't remove it because the current state of the object is invalid (WMIMethodException).
I realized the InstallState-Column of the entry has the value 1 (advertised). I have no idea what it means and I can't find another possible solution which I could try. Unfortunately in the event log there aren't any entries that would help me. Maybe some of you know a possible way of removing it, thanks in advance.

If uninstallation finished in an incomplete state you'll most likely have to scrub the remainder from the Registry yourself. Check the subkeys of {HKCU|HKLM}\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall for remaining artifacts. On 64-bit systems also check the Wow6432Node counterparts.

Related

Visual Studio Code keeps crashing while working

My visual studio code seems fine and all of the sudden boom its crashed. Searched google for the error code No solution found. Any help would be appreciated.
error code = -536870904
Whenever anything stops working for no apparent reason then think:
Did it work before?
No, it is new or it has not worked yet.
Check your download, ensure it is compatible with your operating system and other running programs.
Yes, it used to work, but now it doesn't.
Look at the next step
Did you recently update the program, your operating system or any other programs?
Yes, I updated something.
Try rolling back your updates to see if it works again. New versions of software tend to be more error prone than the older, established versions.
No, I don't think I changed anything.
Either you are unaware of changes made to your system or some subscription has ran out. At this phase, the best option is to use common sense or uninstall and reinstall.
Another issue that you might be having is if you're running too many programs at once and your computer is force closing programs to protect itself. Try monitoring your Task Manager you may see a spike right before the crash. Also, make sure the crash isn't caused because of trying to run code (especially with code that has infinite loops)

Installation of TYPO3 v9.5 fails in last step because of missing PHP library "argon2i"

I am trying to install TYPO3 v9.5.3 for the first time and fail in the last step of the installation routine (after submitting the form with the login details for the admin user).
As far as I could track this issue down, I think the problem is that I don't have the required library for argon2i compiled into PHP.
Now I found a very similar problem description here, but I am not able to change the algorithm in the process of the installation.
Is there a way to use "bcrypt" or "phpass" right from the beginning (during installation)?
According to https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/PasswordHashing/Index.html, PHP 7.2 brings Argon2i support out of the box.
Also, this documentation page also says it falls back to other hashing algorithms if argon2i is not available.
So I guess that your guess about the missing lib is not the real reason.
Your question also does not explain what your actual error/problem is, so there is nothing more we can do here.
Untested but you can try to create typo3conf/AdditionalConfiguration.php before starting the installation process and put this into the file:
$GLOBALS['TYPO3_CONF_VARS']['BE']['passwordHashing']['className'] = 'TYPO3\\CMS\\Core\\Crypto\\PasswordHashing\\BcryptPasswordHash';

How to overwrite pypi package when doing upload from command line?

I want to automate the upload process bug in some cases the python setup.py upload fails because pypi server already have the save version uploaded.
How can I force it to upload, from the script (i know I can remove the old variant using the web interface).
A late answer, but: it seems everybody agrees you can't overwrite existing pypi uploads, or re-upload a fixed version after you delete a broken version. However, it seems actually possible and officially supported: "build numbers" are a feature that nobody has ever used or remembers they exist, but that seems to work, at least for me.
The trick is to rename the files in the following pattern:
mypackage-0.31.0-py2.py3-none-any.whl
mypackage-0.31.0-1-py2.py3-none-any.whl
mypackage-0.31.0-2-py2.py3-none-any.whl
The "-1" or "-2" are build numbers. If pip finds all these files for the same release, it will pick the one with the highest build number. It also seems to work if it finds only a single file with a non-zero build number, so you can use that after you deleted the original.
(This is very quickly mentioned in the documentation at https://www.python.org/dev/peps/pep-0427/#file-name-convention but I wouldn't have guessed its use without Daniel Holth pointing it out to me. Thanks Daniel!)
I have no idea why the internet contains so many people convinced it can't be done. I myself only learned about it yesterday and thought I should try to pass on that information.
Insert here the usual warning about not to abuse that feature. A typical example for when I think you should use this is after one of the wheels was badly built and you need to replace it with a correctly-built wheel from the same sources
Here's an actual answer, not just me adding more pontification in the comments. Found this thread:
https://www.reddit.com/r/Python/comments/35xr2q/howto_overwrite_package_when_reupload_to_pypi/
That refers to this:
http://comments.gmane.org/gmane.comp.python.distutils.devel/22739
Saying it can't be done.
Also note the comment in the reddit thread about reading semver.org and incrementing the micro version for patches.

Matlab and MrVista

I'm new to MATLAB and mrVista.
I'm running Matlab Version 7.8.0.347 (R2009a) 32-bit(win32) from February 12, 2009
OS is Windows 7 Professional
I downloaded the most recent MrVista_hourly.zip and extracted it into my C:\Program_Files_(x86)\MATLAB directory.
I think I need to run mrvInstall, but when I do, I get the following:
EDU>> mrvInstall
Checking VISATSOFT installation.
Windows, 32-bit, installation
Checking and possibly installing .NET framework.
This can take several minutes
Checking for visualization library (.dll) files.
You are missing msvcp70.dll.
So, I'm completely lost at this point. Do I just need to download msvcp70.dll from the net? If so, is there a safe place to download it from? If there's some other way I'm supposed to get mrVista to work from MATLAB, instead of mrvInstall, please let me know that.
Thanks in advance for your help.
EDIT: I've downloaded and installed the dll and still isn't working. I'll go ask on Super User. Thanks for trying to help anyway.
EDIT2: before asking on superuser, I tried once more to solve it myself. Turns out, under the File -> Set Path you have to Add_With_Subfolders the specific vistasoft folder. (Even though I'd already added with subfolders the parent directory where vistasoft lives, that wasn't good enough.) So, once I added the path, and made sure I was in the directory where my data lives, I was able to run the initial command from the tutorial:
mrVista inplane
It opens up very nicely now. No compiles or installs or other commands were actually necessary. Methinks I'm going to go edit a wiki now so no one else has this problem.
There's a pretty comprehensive discussion of Visual C++ runtime DLLs here
Whoever built the file that uses msvcp70.dll (and msvcr70.dll) presumably had Visual Studio 2002 and the right to redistribute that file.
You're probably not going to get much help beyond that because I'm a MatLab user and I have no idea what mrVista is. You've provided no link, no explanation, nothing that someone could use to help you.
See this page on MrVista Wiki:
http://white.stanford.edu/newlm/index.php/Troubleshooting#MESH
There is information on this dll and where to get it from.
I guess "serverfault" is VERY badly named if it's the go-to place for things that have zero to do with servers;-). Maybe the complaint shd actually point to superuser.com?
Me, I've researched the top google hits for this DLL, the very top one seems to be on "dll-files.com" which has no bad reports I can see and is rated green/safe by mcafee, so that's where I would risk downloading it from. Weird that I can't find it on a MSFT site, though.

In Installshield, what is the best event to use to launch applications only on install, not on uninstall or repair?

We have recently moved back to InstallShield 2008 from rolling our own install. So, I am still trying to get up the learning curve on it.
We are using Firebird and a usb driver, that we couldn't find good msi install solutions. So, we have a cmd line to install firebird silently and the usb driver mostly silently.
We have put this code into the event handler DefaultFeatureInstalled. This works really well on the first time install. But, when I do an uninstall it trys to launch the firebird installer again, so it must be sending the DefaultFeatureInstalled event again.
Is their another event to use, or is there a way to detect whether its an install or uninstall in the DefaultFeatureInstalled event?
Chris, I had trouble getting the MsiGetProperty to work at all. Just adding the code that you have
string sRemove;
number nBuffer;
nBuffer = 256;
if (MsiGetProperty(ISMSI_HANDLE, "REMOVE", sRemove, nBuffer) = ERROR_SUCCESS) then
//do something
endif;
I get "undefined identifier". I tried several things to get IS to recognize it without success. After some more poking around, I realized that IS was not calling the function on uninstall in the first place. I had another function, onEnd I think that was calling the same things. After cleaning that up, I was getting the result I had expected in the beginning.
So the correct answer would be that you don't have to do anything for the code in the DefaultFeature_Installed event not to be called on uninstall.
There are MSI properties you can look at that will tell you if a product is already installed or if an uninstall is taking place. The Installed property will be true if the product is already there, so you can use it in a Boolean expression (Ex: Not Installed). The REMOVE property will be set to "ALL" if an uninstall is taking place. You might be able to condition your Firebird installation logic on these properties, which you can retrieve using the MsiGetProperty function.
Note: Property names mean different things based on case, so make sure you use the cases above.
I couldn't find any reference in the IS online help or Google to the DefaultFeatureInstalled event. Is your InstallShield project Basic MSI or InstallScript?
I am doing an InstallScript project.
I double checked the event and the function that I am using is DefaultFeature_Installed with an underscore. I have searched the Net and IS's website and have found mention of it but no definition. I asked the developer here who originally moved the code to this event, and she can't remember where or why she moved the code to this event.
I will look into MsiGetProperty this morning. Thanks for the pointer.
You can add this code to the DefaultFeature_Installed event:
string sRemove;
number nBuffer;
nBuffer = 256;
if (MsiGetProperty(ISMSI_HANDLE, "REMOVE", sRemove, nBuffer) = ERROR_SUCCESS) then
//do something
endif;
Note: the function name is case sensitive. The ISMSI_HANDLE value is a handle to the InstallShield install engine. If sRemove is equal to "ALL", which indicates an uninstall is taking place, you can skip the Firebird installation.
If you are using an InstallScript or InstallScript MSI project, you will want to handle the OnFirstUIBefore event. It is called the first time the installer is run. When the installer is launch again, the OnMaintUIBefore event is raised in its place.