TideSDKで日本語インストーラ(Windows)を作る際のメモ書き
TideSDKは、HTML5+CSS+Javascriptでネイティブなデスクトップアプリケーションを作れる開発キットです。(元々のTitanium Desktop)
サンプルコードを見た感じだと、Titanium mobileよりもWebアプリチックに作れるみたいですね。
特徴
- デザインはHTML,CSSで
- 一部にPHP,Python,Rubyも使用可能
- 既成のJs、Css系のフレームワークが使える
- クロスプラットフォーム(Windows, Mac, Linuxどれでも動く)
と、ほとんど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.0
- Imagemagick
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.xmlに
<?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>