WiXのインストールログの取り方

WiXのインストールでうまくいかない場合の原因追及に、msiexec.exeでログを利用するといいみたい。

msiexec /i Setup1.msi /l*vx logfile.txt

のように書けばログが取れる。

あと、作成した.msiの中身を見たい場合はOrca データベース エディタを利用すると便利。

(参考:https://support.microsoft.com/ja-jp/kb/255905)

上で書いたのはmsi形式の場合だけ。 EXE形式のインストーラは、特定の引数でmsi形式のインストーラを生成できるようにしとくといいと思う。

WiX Tutorial Jaを触ってみた

WiX チュートリアル 日本語訳を触ってみた。

公式からサンプルをダウンロードできるけど、サンプルではGUIDを自分で設定しなきゃいけないっぽい。

Generate GUIDs onlineで作って設定した。

Create GUID (guidgen.exe)を使って作ったり、 ↓でGUIDの自動生成もできるっぽい。

GUID値を生成するには?[C#、VB] − @IT

OCamlの開発環境

emacsOCamlを書くためにtuareg-modeを導入した。 参考: http://logic.cs.tsukuba.ac.jp/jikken/setup.html

.mlファイルを開くとtuareg-modeで起動して、C-c C-bで式の評価ができる。

このままだと日本語が表示できないけどset-buffer-process-coding-systemでutf-8に設定すれば表示できるらしい。

(まだやってない)

あとはOcamlの書き方は↓らへんが参考になりそう。 http://www.fos.kuis.kyoto-u.ac.jp/~t-sekiym/classes/isle4/mltext/ocaml.html

【書評】開発ツールを使って学ぶ!C言語プログラミング

開発ツールを使って学ぶ!C言語プログラミング | マイナビブックス』を読んだ。

初心者向けにUnix(というかLinux)の開発環境とC言語の基本文法を教えるという内容になっていて、章ごと交互に 前記二つについて解説している。(5時間くらいで読了)

感想:

  • Unixの開発ツール単独の紹介だけでなく、各ツールを連携させて開発する方法を説明しているので、Unixでの開発のイロハがわかる(diff-gitとか、make-diff-gitとか)

  • 普段、Windows環境なのでCygwin使おうかなーと思った。

  • unixコマンドが使えると一発なのに、ツールの制約でできないことが多いという、現在の開発環境に疑問を持てた。

  • 初心者向けに書いているのでC言語の章は簡単すぎてつまらなかった

SICP(計算機プログラムの構造と解釈)を読み始めた

以前から気になってたので、読み始めた。

読む利用は

  • コンピュータサイエンスの学習のとっかかりにしたい
    • 競技プログラミングを始めて、プログラミングをTIPSだけでなく体系的に学びたくなってきた
    • 自分の学部が物理で大学院から情報に移ったので、コンピュータサイエンスの講義はあまり受けていなかった。そこを補完したい
  • かっこいいと思う有名人(ひげぽんさんとか)が勉強していて、勧めている
  • OCamlとかC#LINQとかを触っていて関数型言語Lispに興味がわいた
  • Lispの入門サイトで遊んでみてLispの構造が面白いと思った(リリカルLispっていうゲームで遊んでみた)

など。

最近は和田先生の日本語訳も公開されている(計算機プログラムの構造と解釈 第二版)し、学習しやすい環境になってきたのではないかな。

日本語訳と英語版の本は持っているので毎日1,2時間程度で進めていき、4か月くらいで完了したい。(2016/2E?)

xv6を読むための環境整備

linuxコマンドの中身が気になるけど、linuxカーネル読むのはつらいお・・・

だから、コードサイズの小さなunix v6から手をだすお!

 

unix v6読んでみたけど、K&R以前の仕様のC言語はよみづらいお・・・

x86 アーキテクチャも知りたいお・・・

だから、Xv6を読むお!

 

というわけで、Xv6のコードリーディングと実行ができるように環境整備した。

↓に講義資料と参考にしたGist.

 

ソース取ってきてから、qemuをapt-getして、Makefileを↓の様に編集。

 

んで、↓うつとxv6が起動する。

  • $ make
  • $ sudo make qemuc-nox

 

C-a h をタイプすると簡易ヘルプが表示され、C-a c で QEMU コンソールに切り替わり、 C-a x でエミュレータを終了。

 

cat, echo, grep, ln, ls, rm,mkdirのコマンドが使えることを確認できた。リダイレクトも効く。結構、できること多いなー。

 

(追記)

挫折してしまった。理由は以下。

  • 飽きた
  • unix系の開発ツールに慣れてなくて、色々調べながらやってたら、辛くなってきた
  • ほかにやりたいことが出来た(競技プログラミング、SICP

少し寝かせておいて、またやる気が出てきたら、再挑戦したい。