TideSDKで日本語インストーラ(Windows)を作る際のメモ書き

TideSDKは、HTML5+CSS+Javascriptでネイティブなデスクトップアプリケーションを作れる開発キットです。(元々のTitanium Desktop)
サンプルコードを見た感じだと、Titanium mobileよりもWebアプリチックに作れるみたいですね。

特徴

と、ほとんどWebアプリ開発と遜色ないと思うほど。
これからいじってみるけど、結構楽しそうではあるし、スマホアプリほど面倒くさくなさそうwww

とりあえずスタートアップ

スタートアップはこちらを参考にしました。

インストーラを作る

TideSDK Developerの「Test & Package」タブから「Package with Runtime」もしくは「Package without Runtime」でインストーラが作れます。
両者の違いは、Runtimeがバンドルされるかされないかの違いで、「Package without Runtime」はランタイムをネットワークインストールする形式になるようです。
ただし、ネットワークインストールは現段階ではサポートしていないとのこと。
https://github.com/TideSDK/TideSDK/issues/74

と、いうわけでバンドルタイプのインストーラを作ってみようと思ったのですが、Windowsの場合は面倒くさいというか、pythonのビルドコード読まないと無理www 蓋あけてみたら大したことはやっていないけど、忘れそうなのでメモしておく。

必要なソフトウェア

TideSDKのチュートリアルにも書いていますが、Windowsインストーラを作るには別途ソフトウェアが必要になります。

Wixは3.7でも大丈夫でした。Imagemagickは使用OSに合わせてインスコしましょう。

Wixのインストールディレクトリを修正

C:\ProgramData\TideSDK\sdk\win32\1.3.1-beta\win32_app.py(191行目から)
Wixのインストールディレクトリをインストールしたディレクトリ名に修正してください。

def get_wix_bin_directory(self):
        path = p.join("C:\\", "Program Files", "WiX Toolset v3.7", "bin")
        if not p.exists(path):
            path = p.join("C:\\", "Program Files (x86)", "WiX Toolset v3.7", "bin")
        if not p.exists(path):
            raise Exception('Could not find WiX v3 bin directory')
        return path

これでひとまずは英語版のインストーラが作成できるようになります。

インストーラの日本語化

tiapp.xmlに言語を指定

tiapp.xmlja-jpを追加します。

<?xml version='1.0' encoding='UTF-8'?>
<ti:app xmlns:ti='http://ti.appcelerator.org'>
<!-- These values are edited/maintained by TideSDK Developer -->
<id>msitest</id>
<name>msi-test</name>
<language>ja-jp</language>
<version>1.0.0.0</version>
<publisher>SASAKI</publisher>
<url>www.hoge.com</url>
<icon>default_app_logo.png</icon>
<copyright>2013 by SASAKI</copyright>
<!-- Window Definition - these values can be edited -->
<window>
<id>initial</id>
<title>msi-test</title>
<url>app://index.html</url>
<width>700</width>
<max-width>3000</max-width>
<min-width>0</min-width>
<height>500</height>
<max-height>3000</max-height>
<min-height>0</min-height>
<fullscreen>false</fullscreen>
<resizable>true</resizable>
<chrome scrollbars="true">true</chrome>
<maximizable>true</maximizable>
<minimizable>true</minimizable>
<closeable>true</closeable>
</window>
</ti:app>

ビルド時にカルチャー属性(-cultures:)を指定

C:\ProgramData\TideSDK\sdk\win32\1.3.1-beta\win32_app.py(181行目から)

            self.env.run([
                p.join(wix_bin_dir, 'light.exe'),
                '-ext', ' WixUIExtension',
                '-cultures:' + self.language, <--ココ
                '-out', '%s' % target,
                '%s.wixobj' % wxs_path
            ])

ビルドするとインストーラが日本語化されているのが確認できます。

Mac OS Xの場合は何も考えなくてもdmgファイル作ってくれますた。
Linuxは未確認。