[RESOLVED] Vista Error 3051
My application saves certain variables into an Access 97 database file that I have named with a .sys extension.
Upon installation and launch on some new Vista computers, there is an Error 3051: The Microsoft Jet database engine cannot open the file C:\Bla\Bla.sys
It is already opened exclusively by another user or you need permission to view its data.
Is this possibly caused by the .sys name I chose? Does Vista block access to .sys files?
Re: [RESOLVED] Vista Error 3051
Thanks dilletante...
Lots to read and try to understand...
This, in particular, troubles me...
Quote:
A "legacy installer" is any setup package that does not use Windows Installer technology. VB6's PDW and 3rd party tools like InnoSetup fall into this category. In the future they may not be supported any more.
So, why is M$ no longer going to support their own PDW? What will replace PDW? Something else they will obsolete in 3 or 4 years?
I might just be a contrarian, as I don't like the degree of protection (and especially the resultant obsolescence) forced upon me with Vista... ;)
I know this is not the thread to rant about Vista (I did that elsewhere a while ago), so... [/rant] :bigyello:
Re: [RESOLVED] Vista Error 3051
It isn't so much the PDW, though people were supposed to stop using it shortly after VB6 came out. I was looking at my VB6 install CDs tonight (dated 1998) and noticed that even in there they were telling you to move to Visual Studio Installer, and provided a link to VSI 1.0 (that is no longer any good).
The problem was that the old scripted setups just are not compatible with the direction they went in "servicing" applications, especially in a managed corporate setting. This is why they came out with the Installer service, the MSI database format of installation package, and new tools like Visual Studio Installer (actually a packager).
You can "move up to 1999" though and download Microsoft Visual Studio Installer 1.1 yet. Even this is ancient, but it is the last version of Microsoft's packager that supports VB6 directly.
After Visual Studio 6.0 there were no new versions created as separate products, though VSI lives on as an embedded tool within the VS.Net versions that followed. There are companies that make commercial packagers that are compatible, and you can always look at MAKEMSI or Windows Installer XML (WiX) toolset.
It can all get pretty overwhelming though.
People use PDW because it was kept in the VB 6.0 package to help VB 4.0 and 5.0 users make the transition. PDW is much like their old Setup Wizard. New users were not supposed to get addicted to it.
Re: [RESOLVED] Vista Error 3051
Great info, thanks.
So, is the VSI going to become obsolete when other "legacy installers" do?
Is there any reason for me to bother with switching from Inno?
Re: [RESOLVED] Vista Error 3051
There are two kinds of setup packages: MSIs and legacy installers.
VSI 1.1 is already obsolete as far as Microsoft is concerned, just like VB 6 is, and VB.Net 2001, 2003, 2005, and soon 2008.
However a difference is that VSI 1.1 uses the current Windows Installer API instead of the old Setup API or hand-rolled code. So on a Vista system when you create an MSI package (which is actually a database containing directions, code, and data) VSI 1.1 uses the Windows Installer 4.0 (or 4.5 if you have the update installed) API. When the MSI is installed this is done by the Windows Installer Service 4.0 (or 4.5). Thus Installer is always aware of the OS it runs on and its requirements for keeping track of component use counts, rollback info, etc.
The Setup API is pretty stagnant. Heaven knows what InnoSetup does, but I suspect it's a combination of the Setup API and a lot of hand rolled logic. Setups created by the PDW mostly use the Setup API - which goes way back to DOS days in its earliest form.
But for now one is probably as good as another if you are creating packages for hobby use, etc. Windows Installer packages allow a lot of administrative actions that do not occur in a home or other Workgroup setting. This offers many advantages over legacy installer technologies, the question is whether you need or want these advantages.
Maybe more important is the question of when legacy installers will stop working. Vista SP2? Windows 7?
My own suspicion is they'll work as long as VB6 still runs and maybe after, though you already have to hack around with a PDW or InnoSetup package to make some things work.
Microsoft just wants to say "we told you so" if they ever eliminated support.
I prefer MSIs because of (a.) my customer base which wants MSIs and (b.) a new customer base which wants the capability of non-elevated installs.
Quote:
MSI packages can be marked as not requiring elevated privileges to install, thus allowing a package to install without prompting the user for Administrator credentials.
Re: [RESOLVED] Vista Error 3051
dilletante,
Thank you again for writing such a thorough and easy-for-a-simpleton-like-me reply!!! I have no edumacation in this stuff, so it's often difficult for me, as I am missing knowledge of the basics.
I think you would make a good teacher, if you were ever so inclined...
Quote:
But for now one is probably as good as another if you are creating packages for hobby use, etc.
I am attempting a commercial venture. What is the biggest shortcoming of Inno in this regard?
It has been a little bit of a struggle adapting to Vista (still on-going?), but I have managed, mostly by myself (the .sys question has been the most perplexing issue to date, and as you see I guessed how to fix that myself), so it doesn't seem insurmountable? What am I missing?
Quote:
Windows Installer packages allow a lot of administrative actions that do not occur in a home or other Workgroup setting. This offers many advantages over legacy installer technologies, the question is whether you need or want these advantages.
As an ignoramous, I can't imagine what they might be... Inno gives me a pretty good bit of control... Can you give me an idea of one or two of the biggest advantages over Inno in terms of administrative actions I might need? Or where I might find a detailed account?
I hope these questions and answers might help others, too. THANK YOU.
Re: [RESOLVED] Vista Error 3051
If you look at my previous post there was a link to a Wikipedia article that describes some of the features Windows Installer setup offers over older forms. Part 2.3 and all of part 3 cover many of these. Part 6 of that article goes into some of the disadvantages.
The advantages become more important in corporate settings where application installation and updating is centrally managed.