コマンドラインでアンインストール
コマンドラインでアンインストールするときは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にしてやっておくだけ。
簡単♪
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
後に再起動します。起動の際に新しいカーネルのバージョンでの起動メニューができれているはずです。(しかも新しいほうがデフォルト設定になっているはずです)
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
できた!!!(><)
超うれしい。
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
ってな具合に変更。するとうまくいきました。
実は熱がある。あはは楽しい。