コマンドラインでアンインストール

コマンドラインでアンインストールするときはmsiexec.exeを使います。

msiexec.exe /q/x 

ココまでは良かったのですが、しくじります。インストールに使用したmsiファイルを右クリックし、色々見てみると、このような画面がでてきます。

一見よさそうな{69FE3325-32FB-4DE2-BA22-F2F46DE66D24}という文字列。しかし!これはPackageCodeなのです。
バージョンアップは大規模から小規模のアップデートまで3種類のコードで表現するようです。ちなみに自動アンインストールは大規模アップデートのときにしか使えないみたい。詳しくはコチラ
で、この文字列は小規模アップデートのバージョンナンバーでした。じゃあ、どうやって探すか?これからは力技です。
regeditから

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVrsion\Uninstall

配下に{00CB39EC-9DF6-42D3-9A17-1AF40843C35F}のようなものが延々並びます。この中のどれかにアンインストールしたいソフトの情報があります。そして、このコードこそが、そのソフトのProductCodeなわけです!見つかればこっちのもの。すぐにでもコマンド実行が可能になりますよ。と

インストール時にアンインストールしてインストールしたい。

最初はカスタムコントロールDLLを作成して対応しようとしましたが、イベントがインストール後、確定後しかとれない。インストール直前ってのが必要なのに。。。。
で色々試行錯誤してたらあっさりできました。

要はセットアッププロジェクトのプロパティのVersionをあげればいいだけです。あとは前のプログラムをアンインストールするという、RemovePreviousVersionsをTrueにしてやっておくだけ。

簡単♪

apacheが起動しない!!!

かなり解決に時間がかかったのでメモっておく。
init.d/apache start しても起動してるみたいで、起動していない。何でだろう何でだろうと色々調べて分かった。
apacheって自分のプロセス番号をapache/logs/httpd.pidとして持っているみたい。これで自分が起動しているかどうかが分かる。しかし、高負荷状態で強制終了されたら、消えないこともあるのかも。つーかあるんだろう。

だって僕の場合は起動していないのに存在していて、そのせいで起動できなかったから。消したらすんなり動きましたとさ。

linuxドライバーインストールでの苦労の歴史

古いカーネルだし、マイナーな機材なので参考になるとも思えないですが、3,4日かかってmakeがうまく行ってうれしいので書きます。うれしい。

linuxにインストールしたドライバは

VScom USB-8COM
http://www.vscom.de/617.htm

です。

0.まずはカーネルバージョンの確認を。

延々CentOS5で試していました。しかし、ドライバのreadmeをよく読むと、for Kernel2.4。馬鹿です。早速CentOS3系Finalをインストールしました。お恥ずかしいことにこの時点で2日弱ロス。

1.まずはともあれカーネルのバージョンアップ

このドライバをインストールするにはカーネルソースが必要です。しかし、現在yumで手に入るカーネルソースのバージョンと、実際のカーネルのバージョンが少し違います。これではMakeできません。(できるかもしれないけれど、パスが違うので実質無理です。)ですのでまずはyumカーネル自体のバージョンを最新にします。

yum install kernel

後に再起動します。起動の際に新しいカーネルのバージョンでの起動メニューができれているはずです。(しかも新しいほうがデフォルト設定になっているはずです)

2.カーネルソースのインストール

早速カーネルソースのインストールです。

yum install kernel-source

ちなみに最近のCentOSyumでのカーネルソースインストールに対応していないとの事です。

3.リンクをはる。

Makefileを見てみると、

INCLUDEUSBSER := $(shell echo "/usr/src/linux-`uname -r`/drivers/usb/serial/")

とあります。

バージョンは

# uname -r
2.4.21-57.ELsmp

ですが、/usr/srcを見てみると、linux-2.4.21-57.ELしか存在しません。おそらく昔はマルチコアのCPUが無かったので、linux-2.4.21-57.ELsmpを作ってくれないのだろうと考え、リンクを張ってやることにしました。

ln -s linux-2.4.21-57.EL linux-2.4.21-57.ELsmp
4./usr/src/linux-2.4.21-57.ELに.configをつくる。

何故か、何故かconfigがありません(涙)。何故だ。作るしかない。Linux初心者には辛い試練が続きます。

cd /usr/src/linux-2.4.21-57.EL
make oldconfig
5.MAKE!!!!!!

さぁmakeしましょ。

# make

gcc -Wall -D__KERNEL__ -DMODULE -I/lib/modules/2.4.21-57.ELsmp/build/include -D__SMP__ -DSMP -DMODVERSIONS -include /lib/modules/2.4.21-57.ELsmp/build/include/linux/modversions.h -I/usr/src/linux-2.4.21-57.ELsmp/drivers/usb/serial/ -O   -c -o ftdi_sio.o ftdi_sio.c
ld -r ftdi_sio.o -o ftdi.o

できた!!!(><)
超うれしい。

メール起動ってすばらしい。

取り急ぎメモ。

まずqmailでのアカウントの考え方。qmailの仕組みは
  1. 一応すべてのメールはvpopmailというリアルユーザが受け取る。
  2. vpopmailというユーザはドメインをいくつも持てる。
  3. ドメイン配下にユーザを追加する。

大昔はリアルユーザ毎にメールボックスをもってたんだけど、そんな面倒だよね。いまはバーチャルドメインですよバーチャルドメイン

メール着信をイベントとしたプログラム
/home/vpopmail/domains/xxxxx/.qmail-default

ここに書かれたプログラムに対して標準出力されている。通常作成されるメールも実はここに存在するプログラムが標準出力>fileしているに過ぎない。
良くあるメールアドレスをイベントにして動くプログラムはここに書かれる。

/home/vpopmail/domains/xxxxx/user/.qmail

ここにかけば、このユーザ宛のメールだけにプログラム実行される。

ってか何でも知ってる!すげぇ

VirtualPc にdebian 入れたけど、画面が崩れる。

前述した如く、linux大嫌いのryuです。おはようございます。苦手なlinuxのインストールが終わって再起動。わーいやったと思いきや、、、

画面が表示されない。
絶望です。絶望。Googleでしょ。google

ってことでググってみると、原因はあっさり判明。linuxでの画面表示モードは24bitがデフォルト。だけれどvirtual pcのサポートは8,16,32ビットしかサポートしていないとのこと。つまりlinux側のXの設定を変えてやる必要がある。いきなりの難問です。

vi /etc/X11/xorg.conf
Section "Screen"
        ...
//      DefaultDepth     24
        DefaultDepth     16

ってな具合に変更。するとうまくいきました。

実は熱がある。あはは楽しい。