Errors when installating if $ALLUSERS$ = FALSE
Errors when installating if $ALLUSERS$ = FALSE
I'm performing a Web install. When installing, if the user chooses to create shortcuts only for themself ($ALLUSERS$ = FALSE), the installation fails with every file I try to install (not just shortcuts).
Here's the first (of many) errors:
---------------------------
Error reading from file: C:\\DOCUME~1\\vmuser\\APPLIC~1\\{F59EB~1\\OFFLINE\\IFERISAIM21APCODLFWNSSDRFFFTFF0\\capicom.dll. Verify that the file exists and that you can access it.
---------------------------
Abort Retry Ignore
---------------------------
Notice that it's looking for files here:
C:\\DOCUME~1\\vmuser\\APPLIC~1\\{F59EB~1
This is strange, since I can use Windows Explorer to see that all the file have extracted here:
C:\\Docume~1\\All Users\\APPLIC~1\\{F59EB~1
Is the $ALLUSERS$ variable being misused by the installation engine? Should I use a different variable in my script?
I'm running 5.2. Has this bug been fixed in 5.31?
--Troy
Here's the first (of many) errors:
---------------------------
Error reading from file: C:\\DOCUME~1\\vmuser\\APPLIC~1\\{F59EB~1\\OFFLINE\\IFERISAIM21APCODLFWNSSDRFFFTFF0\\capicom.dll. Verify that the file exists and that you can access it.
---------------------------
Abort Retry Ignore
---------------------------
Notice that it's looking for files here:
C:\\DOCUME~1\\vmuser\\APPLIC~1\\{F59EB~1
This is strange, since I can use Windows Explorer to see that all the file have extracted here:
C:\\Docume~1\\All Users\\APPLIC~1\\{F59EB~1
Is the $ALLUSERS$ variable being misused by the installation engine? Should I use a different variable in my script?
I'm running 5.2. Has this bug been fixed in 5.31?
--Troy
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Troy - are you downloading your web media blocks before or after the ALLUSERS variable is set?
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
Its the only thing I can think of, which might cause this to happen. Web media blocks are downloaded into the setup folders when used, and this setup folder location does depend on the type of user mode. So web media blocks used in the installation should not be downloaded before user mode is captured in the UI.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
MichaelNesmith wrote:are you downloading your web media blocks before or after the ALLUSERS variable is set?
Neither. In my test case I'm not downloading any media blocks at all. The problem occurs when I call "Install Files" at the beginning of my installation on a prerequisite (before ALLUSERS is set). This call to Install Files is in my OFFLINE block.
--Troy
MichaelNesmith wrote:and this setup folder location does depend on the type of user mode. So web media blocks used in the installation should not be downloaded before user mode is captured in the UI.
In my application I install prerequisites long before I proceed to the normal part of the UI (where ALLUSERS would be set). And generally I only use Web Media blocks for prerequisites.
This brings up a deeper question. I thought ALLUSERS was only used in my script to determine where I install shortcuts. Is the engine using ALLUSERS for something else ... something much deeper?
If so, I might just make up my own local variable called SHORTCUTSFORALL or something like that, and not treat ALLUSERS as hands off. What's the advantage to setting it at all?
--Troy
P.S. I installed IA 5.31. Same behavior.
-
- Posts: 3452
- Joined: Thu Dec 22, 2005 7:17 pm
- Contact:
OK, so that would definitely create a problem, because you are "pulling" a web media block (even if it is an offline block) before the ALLUSERS variable has been set to the final value [it is initialized to TRUE on NT and FALSE on 9X by the setup engine as documented in the help file]; and later you are changing that value (setting it to FALSE for a just-me install), which breaks the web media block that was pulled in earlier. The location where the installer caches local files depends on the value of the ALLUSERS variable.
Normally this isn't an issue, because prereq web media blocks and non-prereq web media blocks are distinct entities, and Windows Installer commands are not called at the prereq stage.
I think if you declare (or in your case, re-declare an OFFLINE block) after ALLUSERS has been set to its final value, this would solve your problem by re-pulling the web media block to its final location.
Normally this isn't an issue, because prereq web media blocks and non-prereq web media blocks are distinct entities, and Windows Installer commands are not called at the prereq stage.
I think if you declare (or in your case, re-declare an OFFLINE block) after ALLUSERS has been set to its final value, this would solve your problem by re-pulling the web media block to its final location.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/
Another issue regarding ALLUSERS = FALSE
I'm also finding that if I use my "Bundle-Files" plug-in before ALLUSERS is set, I get the exact same error.
Any idea why this is so?
--Troy
Any idea why this is so?
--Troy
sinan wrote:Hi Troy!
These plug-ins use web media blocks, so they work the same way as any other command that uses web media blocks. If your user install mode changes, you need to re-initiate block download.
I'm not sure I understand. I'm calling these commands within the OFFLINE web media block. This has nothing to do with the Web.
--Troy
jimo wrote:You must re-declare your OFFLINE block after ALLUSERS the same as did above.
This doesn't do it. What I did for my previous problem was move the "Install File(s)" command after ALLUSERS was set.
What I've found is that anytime a media block is pulled (offline or not), it files are extracted in a folder based on ALLUSERS. Then, if ALLUSERS is later changed, the files are not found, and the resulting error occurs.
The thing is I can't move this code that "pulls the media block" to a place after ALLUSERS is set. For reasons I'd rather not go into right now (I can later if asked), I need to pull a media block in order to detect prereqs. And I must do this at the very beginning of my script.
--Troy
Who is online
Users browsing this forum: No registered users and 148 guests