ベンダーにライセンスサーバのMACアドレスを書いて下さい。と言われ、書いて、送って、届いたものの、
ライセンスサーバにWindowsを指定されてしまっていたりすると困りますよね?
弊社では、サーバは、Linux派なのだ。困った。とは、事前確認をするので、ならないと思いますが、
Linux用のバイナリを用意してくれないベンダはたくさんあります。
太い客ならば、札束でひっぱたきながら用意するのが当然でしょ?って言ってみるのはあるかもしれません(笑)
細い客は諦めるしかありません。
でもやはり、たかだか、一つのバイナリを動かすためだけに、Windowsを使いたくないなどあると思います。
- ライセンスコストがかかる。
- 勝手に再起動するかもしれない。
- GUIがデフォルトでめんどくさい。
- リモート操作しにくい。
- キーボードのみで操作しにくい。
- カーネルが重いので仮想化しにくい。
- メモリをたくさん食う。
- サポートが短い。
というときは、技術で解決。
LinuxでWindows向けのプログラムを動かしてしまいましょう。
これを、やっていいのかどうかは、ライセンス契約を確認しておきましょう。
やってよかったとしても、問い合わせるとサポートできないゆえに難色を示されることでしょう。
wine
UNIX上でWindowsアプリを動かそうという目的のもと、かなり昔から開発されているプロジェクトです。オープンソースで開発されています。
仮想マシンのような大それたものではなく、ただの互換レイヤーなので軽量に動きます。
WindowsのAPIをUNIX上で実装したものです。
デスクトップアプリケーションのような複雑なプログラムであれば、色々と問題も多いのですが、軽量なプログラムなら意外とすぐに動いてしまいます。
exeが32bitプログラムだったとき
有名なレポジトリにあるwineは64bitプログラムしか動きません。かといって、i686版は、公開されてません。
野良rpmが公開されているので仕方なく入れてしまいましょう。
yum -y install https://harbottle.gitlab.io/wine32/7/i386/wine32-release.rpm
yum -y install wine.i686
Windowsのパッケージのなかのlmgrd.exeとライセンスファイルを同じフォルダに入れて、頭にwineをつけて実行しましょう。
wine lmgrd.exe -z -c %licfile%
びっくりすることにこれでもう動いてしまいます。