02-12-2016 05:25 PM
Ok, here's the deal. I have an application that needs to uninstall and then reinstall three MSIs, but it never actually calls anything that the MSIs install. Until recently this has worked fine. Now suddenly when the code gets to the uninstall part, a window pops open wanting to shutdown LabVIEW. The option is to uninstall anyway with the possibility that there might be a restart needed (there never is).
According to what I have found online, the only time that dialog should open is if the program is dependent upon what the MSI installed -- which my application is not.
I am running the uninstall using System Exec with a command line like: msiexec /qb /x <<name of the MSI to uninstall>> /l*v "<<path to log file>>"
Any ideas?
Win7, LV2015
Mike...
02-15-2016 04:23 AM
02-16-2016 12:45 AM
03-01-2016 12:19 PM
Finally have a chance to give the REAL cause of my problem. The IT update was a coincidence. The problem is that my application calls some .NET DLLs that do use the files from the MSIs. Apparently, the DDLs continue to hang onto those files even when I deinitialize and close my references to the DLLs -- hence the problem I saw. If I did anything that utilizes the DLLs before changing the MSIs I see the problem. If I don't, there is no issue.
Sooooo, the fix was to rewrite my application such that the calls to the DLLs occur in small separate executables. This fixes the problem because when the exe quits, Windows releases the MSI files. Apparently this is a fairly common problem with C applications, and they fix it in the same way.
Mike...