Saturday, 10th May 2008 at 12:15 (administration, windows)
Tags: cmd, extract, installer, msi, windows
All you need is the Windows Installer itself. Hit Win+R (command line dialog) and execute the following line (change file name and target folder, of course):
msiexec /a c:\tmp\MSIFileName.msi /qb TARGETDIR="c:\tmp\msitmp\"
You’ll find all files in your target folder.
Wednesday, 23rd Apr 2008 at 13:25 (administration)
Tags: integrated installation cd, Slipstreamed Service Pack, sp3, windows, xp
- Old/original Windows XP installation CD (any of SP0 to SP2 will do even though only those from SP2 are supported officially). Make sure to use build 5512 or above.
- Microsoft Windows SP3
- unzipper like WinRar, unrar for Linux / Ubuntu or the like
- ISO creator / CD burn program like mkisofs, InfraRecorder, UltraISO, Basero (or others) or even old school
- Boot image exctracted using BBIE or use this (also see Box.net box below)
- ~ 1 GB free tmp space on disk
- Extract / copy old Windows CD‘s content (including hidden files!) to one folder (e.g.
- extract SP3‘s content to another folder (e.g.
c:\XPSP3) using e.g. unrar, winrar or hit Win+R and type
and select target folder, here
- To slipstream the old CD do Win+R and copy+paste or type
- Create bootable CD image or CD using the boot image and your updated folder
c:\XPCD. I recommend using mkisofs (Windows or Linux executable) using
-b cdboot/msboot.img -no-emul-boot -boot-load-seg 1984 -boot-load-size 4 \
-iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames \
-V "WINSP" \
-o ../winsp.iso .
from within the root folder of the CD to be, i.e.
c:\XPCD. You need to extract the El Torito image first. Create a new folder there and drop your boot image, i.e.
cdboot/msboot.img. This can be done under Linux for example using
geteltorito /dev/scd0 > cdboot/msboot.img (or use BBIE or IsoBuster in Windows or Wine).
You might want to try booting from the image using VirtualBox.
Monday, 7th Jan 2008 at 19:21 (administration, linux, ubuntu)
Tags: login, openssh, remote access, remote desktop, ssh, ubuntu, vnc, windows
This will show what needs to be set-up and installed to use a secure line from a Linux box (eg. Ubuntu) to a Windows box via SSH-tunneled VNC but without the load of Cygwin installed on Windows. I used the nicely small package SSHWindows.
SSH server for Windows (on Windows machine)
- Download SSHWindows and run the installer. An alternative could be WinSSHD from bitvise. It’s 30 days trail and closed, though. You’ll be prompted with the warning to edit the passwd file. Read
readme.txt for more details located in the install folder for
%PROGRAMFILES%\OpenSSH\docs (hit WIN-KEY+R and copy&paste the path there for quick access).
- From a prompt cd to
%PROGRAMFILES%\OpenSSH\bin. (WIN+R and type
cmd, hit ENTER,
- Run the following (replace
<username> with the Windows username that should log in from Ubuntu):
mkgroup -l >> ..\etc\group
mkpasswd -l -u <username> >> ..\etc\passwd
- Start opensshd as Windows service:
net start opensshd
- Open incoming port in Windows firewall:
netsh firewall add portopening TCP 22 "OpenSSHd"
The “OpenSSHd” bit can be chosen individually; it’s only a string to identify this entry.
- Test login locally with eg. PuTTY and than test it from the Linux box (
ssh winuser@winip). You might need to do some firewall (Windows and/or iptable) config. If your Linux box has to go through some kind of router/firewall machine you’ll most likely have to add port forwarding on that firewall to pass port 22 (SSH port) to the windows machine’s IP.
Install TightVNC (on Windows machine):
- Don’t forgett to click the options to setup VNCServer as Windows service and start it after installation.
- Open TCP port 5900 temporarily for testing like for opensshd:
netsh firewall add portopening TCP 5900 "VNCincoming"
- Test it from Ubuntu with
- If it works close the port in Windows firewall. You won’t need that hole any longer:
netsh firewall delete portopening TCP 5900
- Configure tunneling VNC through SSH (on Linux box):
ssh -L <local port>:<remote computer>:<remote port> <user>@<remote ip> and
- Test vnc connection again using -via option:
vncviewer -via user@host localhost:0
- Use compression in ssh?
- GNOME applet/shell skript?
Friday, 4th May 2007 at 13:54 (linux)
Tags: batch, convert, GIMP, image processing, ImageMagick, images, linux, scripting, webdesigne, windows
One might think it’s not that much of a task to resize a bunch of files in one directory so a certain dimention. Say you want to have all jpg images in your directory have width 1024 with aspect ratio maintained. For one image using GIMP actually this is easy. Just open it, go to image > scale image and type “1024” for width. That’s it. Knowing of GIMP’s batch mode feature I though: Well, now let’s just do this very same thing in batch mode for multiple files. Googling I found this passage Adrian Likins GIMP Batch How-To:
Batch mode is slow. Its not really a practical replacement for tools like ImageMagick or NetPBM when it comes to large scale image conversions or similar. At least not without writing some very clever scripts.
The problem with this approach is that gimp/script-fu has no built in procedures to iiterate though a list of images. So you cant easily tell gimp to load up *.jpg and run predator.scm on them, at least not without it taking a _long_ time.
There’s the solution, I thought. So I installed ImageMagick for Windows and made myself ready to run a Windows batch for loop on the files. After double checking against ImageMagick’s delivered help for convert I knew the syntax:
convert -resize 1024
So far so good. But now comes the Windows batch bit. Even though fairly powerfull even compared with bash or other mighty script languages on Linux I couldn’t figure out how to run more than one command per iteration step. This is what I came around to, which does what intended, but without a pretty notice to the user that could have been done with adding something like ; @echo %i
for /f %i in ('dir /b *.jpg') do convert %i -resize 50% %i
Note that I chose to halve the pics rather than to hard-set the width so I don’t risk upright pictures to become bigger in file size than the original. There you go!
Update: I finally came around to do it with Linux. Here is the Bash equivalent to the above (plus an additional nice notification which is easy with Bash):
for i in *.jpg; do echo "converting \"$i\"..."; convert "$i" -resize 50% "$i"; done