This is exactly the same issue which exists for Google Chrome. I can reproduce it with Iron Portable 10.0.650.1 and 10.0.650.0.
I've installed the "normal" version of Iron on an XP and a Windows 7 machine and all works as expected - I can install extensions without problems.
If I run Iron Portable on an XP machine, I can install extensions without problems.
However, on a Windows 7 (and possibly Vista - haven't tested that), I get the following error:
Package is invalid. Details: 'Could not create directory for unzipping: C:0\PortableApps\IronPortable.old\IronPortableDate\Temp\scoped_dir_30817\CRX_INSTALL'.
The above message came from 10.0.650.0 but I get a similar one with 10.0.650.1. The drive letter (which is not the drive - P: - running PortableApps) is always followed by a spurious number after the colon.
Various suggestions as to the cause, and possible solutions, have been made in connection with the same issue with Google Chrome. I've tried changing environment variables, renaming the "profile" directory to "PROFILE" and vice versa with no success.
The most convincing suggestion was that this is an issue with FAT32 (as opposed to NTFS) drives running under Windows 7 (and possibly Vista). This was borne out by the fact that if I put a PortableApps installation on my D: drive (a partition of the main fixed HDD) and install Google Chrome (or Iron) Portable to that, all works fine.
Unfortunately, when I tested this further by formatting a USB stick as NTFS and installing to that, I still got the problem. So it seems to be an issue of removable drives and Windows 7.
I'm running the 64-bit version of 7 in case that's relevant. Don't have a 32-bit installation to test on.
Regards
Nick
This looks like a pretty bizarre bug. I know Vista/7 (especially 7) have a lot of restrictions on what USB sticks can and cannot do, but I can't imagine how unzipping an extension would trigger security lockdowns.
I'd be appreciative if anyone on a Windows 7 32-bit system could try to reproduce this; it would be really helpful to narrow this to 64-bit systems only or all Win7 systems. Tests on Vista (both 32-bit and 64-bit) would also be appreciated.
EDIT: Chrome has this problem, too. Try editing IronPortable.ini and add " --single-process" (no quotes) to the
AdditionalParameters
section. That seems to be a temporary fix - the real issue seems to be the absence of a "symlink or junction free path to the profile directory" - but it should at least keep Iron Portable working properly until Iron itself is fixed.EDIT 2: have a look at DeenSeth's message in http://www.google.com/support/forum/p/Chrome/thread?tid=1347d3104f4b46a2...
That message is old, but at least worth a look.
EDIT 3: I did some more research and it looks like extensions don't work properly when
--single-process
is in effect. You'd need to do the following to install an extension:* Close Iron Portable
* Add --single-process to IronPortable.ini as described above
* Run Iron Portable
* Install the extension
* Close Iron Portable
* Remove --single-process from IronPortable.ini
* Re-open Iron Portable
Yes, that is a real pain in the backside. I'll see if I can find a nicer workaround.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
I tried DeenSeth's suggestion - following the instructions to the letter. I'm fairly sure I'd tried it before, trying to resolve the same problem in Google Chrome, but no harm to repeat the test. Unfortunately it made no difference.
Added the command line parameter to the .ini and, yes, that let me install an extension though when I started Iron I got a yellow bar at the top, basically telling me the sky would fall in.
Just saw your edit 3. What I've done so far with both Iron and Google Chrome is to do all of the extension installation whilst the stick is in the XP machine. That's a pain if I'm working on the Windows 7 machine at home and the XP machine is at work, of course.
I've done some more research and this is looking more and more like an internal Chromium/Chrome/Iron issue (one of at least three or four such issues, actually - this part of the Chromium source looks really flaky, judging by the number of separate reasons this error message can show up), which means I can't do much about it.
Since
--single-process
let you install an extension, I may have to just add a note to the help file suggesting that affected users try that. In the meantime, I'll see about filing a bug report for this issue.Since I'm filing a report with the Chromium devs, I need you to download Chrome Portable (sorry!) and give me your Chrome version, installation path, user agent (get that from WhatsMyUserAgent.com), and a screenshot of the error message. Alternately, if you have a Google account, you could head to the Chromium bug tracker and open a new issue. If you choose to open an issue yourself, please post the link here so I, and anyone else who's affected by this issue, can follow it.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
Version: 10.0.648.204
Path: P:\PortableApps\GoogleChromePortable
User agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Iron/10.0.650.1 Chrome/10.0.650.1 Safari/534.16
Where do you want the screenshot? Don't think I can attach files here, can I?
Regards
Nick
Thanks for that info. How does TinyPic sound for the screenshot?
btw, this may not get far. I'm in #chromium-support right now and the only user who seems to be active can't/won't help because "Chrome Portable is unsupported, as it's a third-party repackaging." Hopefully the Chromium devs will be a bit more tolerant.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
OK, something VERY weird just happened.
I transferred the stick to the Windows 7 machine, fired up Google Chrome and tried to install an extension so I'd get the error message for the screenshot. And guess what? Yes, it installed without protest.
So I tried Iron and, yes, I could install extensions into that as well.
I'm at a complete loss to explain this. I haven't upgraded the version of either package (other than using your test build of Iron). As previously reported I did try changing the "TMP" environment variable from "%USERPROFILE%\AppData\Local\Temp" to "C:\Temp" but that didn't resolve the problem so I changed it back. That was just yesterday.
So right now I can't give you a screenshot (or even reproduce the problem) though the last time I reported it in forums here, the error message was:
Package is invalid. Details: 'Could not create directory for unzipping: D:0\PortableApps\GoogleChromePortable\Data\profile\Temp\scoped_dir78
79\CRX_INSTALL'
Regards
Nick
I can't begin to explain this, either.
Did you reboot after you changed %TMP% ?
Does C:\Temp exist?
When you inserted the USB stick, did it take its usual drive letter, or did it get a different one?
Is there anything that would suggest the computer treated the drive differently this time than it usually does?
Last, but definitely not least: if you eject the stick, reboot the system, reinsert the stick, and try again, does it still work?
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
> Did you reboot after you changed %TMP% ?
No
> Does C:\Temp exist?
Yes. I created it shortly before changing the "TMP" environment variable. When I changed "TMP" back to its old setting I didn't delete it so it still exists but "TMP" is no longer pointing to it.
> When you inserted the USB stick, did it take its usual drive letter,
> or did it get a different one?
Drive P: - same as usual.
> Is there anything that would suggest the computer treated the drive
> differently this time than it usually does?
Absolutely not.
> Last, but definitely not least: if you eject the stick,
> reboot the system, reinsert the stick, and try again,
> does it still work?
Strangely, yes, it does :-S
Since whatever fixed your problem seems to be permanent/semi-permanent, let's just let this go. I'll put a note in help.html that this is a sporadic issue and users can use
--single-process
as a workaround to install extensions; beyond that, I think we're just wasting time and energy trying to determine what the cause and fix for this issue were. Agreed?"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
I'm not confident that this is a permanent fix and (like you, I imagine) I wish we could identify some factor that precipitated the change. We've both researched this and found various things that were tried and worked - with varying degrees of permanence - for some people. But there's no definitive explanation.
But unless someone else can reproduce the problem I guess we're not in a position to do any more at present so, yes, let's leave it for now. If the issue comes back I'll grab the screenshot and post details here.
Regards
Nick
Yeah, I'd definitely love to find a concrete reason for the error and an equally-concrete reason for the resolution, but the number of possible known triggers for the issue (at least five or six, according to one bug report I found) makes that a daunting task. The mysterious self-resolution makes testing any possible reasons for the error even harder, which is why I'm willing to let this go for now.
By all means, if the error comes back, post a screenshot and the details, and we can resume bug-hunting. Depending on what my system setup looks like at the time, I may even be able to pull the Chromium source and try sifting through it for whatever triggers the error.
EDIT: it just occurred to me that you said C:\Temp still exists. If you delete that folder and reboot your system, does the error return? (I can completely understand if you decide not to run that test.)
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
I deleted C:\Temp and then, without rebooting, successfully installed an extension into Google Chrome.
The reboot will have to wait for another day, but I'll let you know.
Rebooted (having deleted C:\Temp) and tried again. Still installs extensions without problem.
So the configuration of computer, Chrome/Iron, USB stick, everything, is exactly as it was when it was failing before. The only change has been to alter the "TMP" variable then restore it to its previous value.
It's the reverse of the old Windows Haiku:
"Yesterday it worked
Today it is not working
Windows is like that"
Nick
I totally don't understand why Iron/Chrome would magically start working like that, but I'm not complaining.
Thanks for helping me try to track this issue down, and I hope you don't experience it again.
On to the last remaining current Iron Portable issue (sync settings)...
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
This problem is now back with Iron 11.0.700.2 (83001) - and also with Google Chrome 11.0.696.65.
There's nothing we can do about it. It's a bug in Chrome (and thus Iron) that's existed since about version 3. It doesn't seem likely to be fixed anytime soon. I think we should just lock these topics and refer people to the still-open bug in Chrome's bug tracker.
Sometimes, the impossible can become possible, if you're awesome!
The odd thing about this bug, though, is that it generally only afflicts the portable version. I have Iron (11.0.700.2 (83001)) as a standard installation on this same Windows 7 machine and extensions install just fine into that.
It's only when I use the PA.c version on the machine that I get the problem. And the same PA.c installation of both Iron and Google Chrome will install extensions fine when used on my XP machine.
So the bug certainly appears to be specific to the portable version with Windows 7.
Regards
Nick
I thought we established earlier that the drive type (removable drive) was the most likely error source, since a PortableApps installation on your local hard drive worked?
I'm inclined to agree with John, it's time to turn this over to the Chrome devs. I don't have the time or skill to patch the Chromium/Iron source, and there's not a lot I can do in the launcher. I'd suggest using the
--single-process
method described in my first reply as a workaround until the Chrome devs fix this issue.Sorry.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
We did establish that a removable drive was a likely cause, but I don't think we ever established why.
In the various bug reports there had been a suggestion that the bug might be triggered by a FAT32 (as opposed to NTFS) drive running under Windows 7 but I formatted a USB stick as NTFS to test this and still got the error.
Regards
Nick
If you install Iron Portable to a hard drive different from the drive where %TEMP% resides, does that trigger the bug? Most of the reports I've seen cite %TEMP% in one way or another, usually related to junctions.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
Do you mean a different physical or logical drives?
I have my HDD partitioned into C: and D:
If %TEMP% lives on C: but the Iron (or Google Chrome) portable installation is on drive D: everything works fine.
But if %TEMP% lives on C: but the portable installation is on a USB drive it fails.
I only have one physical HDD in each of my machines so I can't easily test whether having %TEMP% and the portable installation on different physical HDDs causes the failure.
Regards
Nick
Could you create a TEMP directory right off C:\ and set the rights to everyone. Then create a batch file called GoogleChromePortable.bat in the GoogleChromePortable directory and have it include:
and see if that works? I'm just curious.
[Corrected, use
SET X=Y
, notSET X Y
- mod Chris]Sometimes, the impossible can become possible, if you're awesome!
Please use
GoogleChromePortable.exe --enable-logging --v=1
instead (in the last line) and paste the content ofData\Profile\Chrome_Debug.log
to e.g. pzt.me. This will help to track down the cause of the problem.Previously known as kAlug.
Followed your C:\TEMP and batch file procedure, John, but it made no difference - same error.
[[Disclaimer: IANACD]]
[[For my future reference: it starts here]]
Please enable logging, by adding
--enable-logging --v=1
toAdditionalParameters
.As soon as you get the error, close Chrome/Iron immediately and search the file
Data\Profile\Chrome_Debug.log
for lines starting withCreateDirectory
.Previously known as kAlug.
I'll try out your suggestion - and John's - as soon as I have access to the W7 machine and a bit of time. Hopefully tonight.
I try to reproduce this with logging and exactly the same thing happens as last time - extensions install under W7 without issue!
Again I'm totally at a loss to explain this - I can't think of anything that has changed since it failed before. It's as if it fails for a while after a version upgrade, then mysteriously resolves itself.
Next time it occurs I'll try to reproduce it with logging and also try out John's batch file thing.
Regards
Nick
You can keep logging enabled (follow these instructions); I'm just not sure of how much space it takes.
Just remember to note the
scoped_dir_XXXXX
in order to find the relevant part easily and that, each time Chrome is started, it overwrites the previous log.BTW: do you have Chrome installed locally? Did you ran both simutaneously?
Previously known as kAlug.
I have Iron (but not Google Chrome) installed locally on the Windows 7 machine.
It wasn't running at the time I experienced the problems installing extensions into the portable versions, nor at the times when they installed OK.
Or, to put it another way, the local and portable versions were not running simultaneously in either case.
Regards
Nick
OK, the extension installation problem reared its head again tonight and this time I managed to reproduce it with logging enabled. The relevant section in the log seems to be:
[11328:10292:1348273725:ERROR:extension_error_reporter.cc(55)] Extension error: Package is invalid. Details: 'Could not create directory for unzipping: D:0\PortableApps\IronPortable\Data\IronPortableData\Temp\scoped_dir_8333\CRX_INSTALL'.
But I've preserved the entire log so if you want to take a look at it I can email it (just under 300kB) or upload it somewhere.
Regards
Nick
You can upload it to pzt.me or send it to me (see my Contact page).
Previously known as kAlug.
Have zipped the two logs and emailed them to you.
Regards
Nick
[[Note for self:
DLOG
->VLOG
]]I traced the problem to this code; however, the called function doesn't have enough logging when in debug mode. Maybe I can provide you a special version of Chromium Portable with the required logging enabled.
Previously known as kAlug.
Happy enough to test with a special version but, given that this problem only occurs once in a while, can you give me the option just to turn the logging on when needed to track the problem? Once the issue has occurred once, I can then reproduce it reliably if I do so straight away. So the next time it happens I can turn logging on then and reproduce (it).
Otherwise I'll either end up forgetting and filling my stick with unnecessary logs which I'll eventually have to edit to preserve just the relevant bits.
Regards
Nick
You can continue to use whatever you're using now, and, when it happens again, you just run it with
--enable-logging --v=5
(e.g. from a command prompt).I'll upload the special version as soon as I get enough free CPU to build it.
Previously known as kAlug.
I've pretty much ditched Iron Portable now, so don't bother with a special test build if it's primarily for me.
This isn't a "negative" decision, by the way. I mainly use two machines and switch my PA.c stick between them. I've found that the synch between copies of Iron is so good that it's easier simply to have a copy of the "normal" version installed on each of the host machines.
For now I still have a copy of Google Chrome installed on the PA.c stick but I'll probably remove that, too, if I find I don't use it for a while.
The problem was that I had so many browsers (Iron, Google Chrome, FF and Seamonkey) installed in so many places that keeping addons and their settings up-to-date was getting silly. I'll probably keep FF and Seamonkey on the stick in case I use it on a different machine any time.
Regards
Nick
...especially now that I just wasted the last five hours building the logging-enabled versionActually, it's the same as the release, I just had forgot to replace the icons (an easy way to need to build it twice).
Previously known as kAlug.
Well, as you've done the work, it's easy enough for me to restore the current version from backup so if you give me a download link I'll try it out. I presume I can simply install over the release version and the relevant files will be replaced?
Regards
Nick
You can just download the default version from the Chromium Portable homepage; just remember to use
--enable-logging --v=5
as previously.I'm not sure about how compatible Chromium and Iron are; anyway, the
App
folder is deleted, so just renameData\IronPortableData
toData\Profile
and try it.Previously known as kAlug.
OK, I downloaded and installed Chromium. Copied the profile across. Everything was fine - settings, extensions, etc, all there in Chromium.
Ran SettingsManager.exe and it created ChromiumPortable.ini so I edited that and added:
PortablePasswords=true
EncryptPortablePasswords=true
But I'm not prompted for a password when I start it, as I was with Google Chrome and Iron.
Haven't tried it on the other machine yet to see if the passwords are really portable.
Chromium Portable doesn't have the Portable Passwords plugin because 1) I don't use it; 2) no one has requested it; and 3) last time I checked, the plugin didn't work with Unicode NSIS.
I understood that you're only using it for testing, right? If you really need Portable Passwords, I can do a quick integration, only needing to replace the launcher.
Previously known as kAlug.
In general I think it would be good to have portable passwords working with Chromium but don't bother implementing it just for me. As you say, I'm just going to use it for testing so if I only use it on the Windows 7 machine the passwords should stay (I think).
Now I just have to keep checking periodically until I can reproduce the extensions problem.
I'm not actually clear what differences (in functional terms) there are between Iron and Chromium.
Regards
Nick
OK, have now restored 11.0.700.2 (83001) release version portable installation from backup so let me know what to do next. Once I have the special build I have your instructions for enabling logging so I just need to wait for the problem to manifest itself.
Regards
Nick
Same procedure with Google Chrome (rather than Iron):
11900:4196:1348762055:ERROR:extension_error_reporter.cc(55)] Extension error: Package is invalid. Details: 'Could not create directory for unzipping: D:0\PortableApps\GoogleChromePortable\Data\profile\Temp\scoped_dir_9930\CRX_INSTALL'.
Again, I have the entire log saved.
When this problem occurs, it does so with both Iron and Chrome. Similarly when extensions install OK into one, they install into both. So there must be something changing on the host machine that affects both similarly (I guess).
Regards
Nick
I don't know how much of the Chromium core is modified when Chrome or Iron is produced, but I'm fairly sure it's not a lot. At least for this issue, I'm inclined to think the relevant sections of the source are identical. So, if it's easier for you, you could probably just test with Iron or Chrome, instead of needing to test with both.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
Understood. I really only repeated the test with both to prove that it was consistent.
A bit of speculation here, but ...
My W7 laptop is normally left running 24/7 and only gets rebooted occasionally - eg after a Windows update. After I had reproduced the problem today, I rebooted it and tried again. Extensions installed just fine.
Of course that doesn't tell us much (if anything) but I'm grasping at straws here.
Regards
Nick