From: Dee Earley on 1 Feb 2010 08:10 On 31/01/2010 03:55, GS wrote: > You might find it interesting that among the excluded runtimes is > comdlg32.ocx and comctl32.ocx, for which Win7 includes DLLs only in its > System32 folder. Those OCX files have never been part of the base Windows install. Where they are installed, they have been dependencies of an installed component (Windows "valueadd" folder, resource kit, SQL server, etc) http://support.microsoft.com/dllhelp/?dlltype=file&l=55&alpha=comdlg32.ocx&S=1 > (Hmm, I wonder if using DLLs via References would be an > optional alternative to shipping runtimes<??>) No, the DLL "version" is a completely different file which you can use via declare statements (as native win32 apps do) but it is a very different method os using them > What get's tricky is how we handle the distribution and registration > depending on the OS version our install utility is running on. What makes > this so is that Vista is version 6.0 and, according to my 32bit app using a > WMI query to Win32_OperatingSystem, Windows 7 is version 6.1<for some > strange reason>.<<Perhaps this is an indication that Vista has officially > been overhauled, but then..???!>> This might be fairly easy to manage with > the newer install utilities but I still use Wise v9x and so it won't let me > isolate v6.1 for some reason. It has built in constants for Win95 through to > XP only. The documentation says it returns version info in #.## format, but > its script IF statement doesn't seem to be able to work with that. It works > fine with whole numbers. (..though I suppose I should upgrade to a newer > version<ugh!>) To avoid having to make a separate Win7 installer I just > include the files regardless of OS and let the app manage the registration > (or removal if not required) at first startup. I recomend Inno which (assuming you're script is sensible) handles all the known (32bit+) versions of windows without a problem. -- Dee Earley (dee.earley(a)icode.co.uk) i-Catcher Development Team iCode Systems
From: GS on 1 Feb 2010 16:29 Hi Dee, Thanks for your input. <<Those OCX files have never been part of the base Windows install. Where they are installed...>> AFAIK I have never had to ship these prior to Windows7 so I assume they are installed as the VB6 runtime support for previous OSs. They're usually in the System32 folder. The support statement I referred to (from MS) suggests these were included with the earlier OSs. <<No, the DLL "version" is a completely different file which you can use via declare statements (as native win32 apps do) but it is a very different method os using them>> Sounds like the way we would normally use a DLL. I apologize for any confusion as I didn't realize I was suggesting otherwise. <<I recomend Inno...>> I've heard of this and I know other developers that use it. I did buy another one named PaquetBuilder which is authored by G.D.G. Software. My intent was to review it as a candidate for a client to use for shipping product data updates to sales reps because it looked like a very user-friendly app. Turns out it's also fairly robust and offers all the features my Wise app does but with a much simpler UI. The author is in the process of preparing a new release for 2010 so I'll wait to see what that offers before I decide to use it. Meanwhile, Wise still serves me well. In fact, after I posted here it was bugging me again that my Wise script wouldn't work for Win7 since it works for Vista. I just had to take another look at it so I stepped through in debug mode and found an extra line statement that was parsing the returned value to only the first position from left. The line previous to this returned the entire version same as does WMI. At this point I realized I had received this block of script from my mentor and used it without question or scrutiny because it worked at the time. -My bad! I have modified the script to handle the runtimes and revised my VB6 code back to the original. Fact is, I already had a process built into my apps for handling updates based on OS version and so it was easy for me to contrive the work-around I mentioned. Fortunately, nobody has installed my apps to Win7 (as yet), but I had to do some client testing for 64bit Vista. Since Win7 was here I bought a 64bit machine with Win7 64bit installed for testing because I do not want to own anything with Vista on it. This is how I discovered support for the VB6 runtimes was not included in the OS. Thanks again! Kind regards, Garry
First
|
Prev
|
Pages: 1 2 Prev: Getting Error 70 Permission Denied on Kill Next: Trapping SYNTAX errors |