System::Call がDLL内の関数を呼んでくれなくて死亡
System::Call '$INSTDIR\Kanaria::Kashira(i, i) i($HWNDPARENT, 0).r0 ? u'
こんな記述だと、インストールパスに丸カッコ "()" が含まれている場合、DLL内関数呼び出しに失敗します。 $INSTDIR
内に展開されるカッコでパースが上手くできないからでしょう。 爆発しろ!
以下で対応可能です
# ↓SetCurrentDirectory() SetOutPath "$INSTDIR" # ↓カレントにある Kanaria.dll を読み込む == 相対DLL読み込み System::Call 'Kanaria::Kashira(i, i) i($HWNDPARENT, 0).r0 ? u'
64bit環境でデフォルトのインストール先が C:\Program Files (x86) だったりするので、結構ワナにはまりやすいですHAHAHA!!!! 爆発しろ!