2016-04-23 6 views
0

イメージを動的に使用するスタンドアロンの.exeパッケージ化Ruby Shoesアプリケーションを作成しようとしています。イメージは、.exeファイルのフォルダにあるものを意味します。.exeパッケージ化されたRuby Shoesアプリをパッケージ外のリソースを参照するには?

.exeファイルがパッケージ化されたときに画像が同じフォルダ内にあり、かつ画像がそれはそれのための.exeファイルと同じフォルダに必要ではないですので、.exeファイルにパッケージ化しているように見える場合は、このコードが動作する
Shoes.app() { 
    background "bg.jpg" 
} 

exeを実行すると表示されます。しかし、ファイルを.exeと同じフォルダに読み込み、イメージなしでアプリケーションをパッケージ化する場合は表示されません。私は、.exeが起動されている現在のディレクトリへの絶対パスを見つける際にさまざまな方法を試しましたが、すべてが.exeファイルの場所ではなくAppDataの一時ディレクトリを指しているようです。あなたは
ハズレたい何を取得する必要がありますPWDを呼び出す

答えて

0

、[OK]を申し訳ありません、今それを入手!:-)
靴があなたのexeファイル/のAppData /一時ので、作業ディレクトリと__FILE__に恥ずかしがり屋の両方のポイントを開いています!
誰か、以前にこれを提案しました:Trying to access the "current dir" in a packaged Shoes app

はもっと良い方法です。

EDIT
おそらくカスタムパッケージャ(「私はオプションの高度なインストールしたい」を確認してください)
チェックあなたが定期的にパッケージングのために行ったようですか
「ユーザーディレクトリで恥ずかしがり屋を展開」します。
exeを起動すると、あなた(またはユーザ)にアプリケーションのインストール先を選択するように尋ねられ、続行してディレクトリをメモします。
今すぐインストール済みアプリは、あなたのリソースと指摘したディレクトリを養う起動する前に、あなたはいくつかの参照

[OK]をする必要があり:https://github.com/Shoes3/shoes3/wiki/Custom-Install-Scripts (それへの多くのがあります)
https://github.com/Shoes3/shoes3/issues/247#issuecomment-213919829

+0

私はそのポストに気付きましたが、悲しいことに、回避策は私のプロジェクトでは実用的ではないと示唆しました。 – MaloW

+0

あなたの編集で書いたものを試してみると、私はこのように固執します:http://i.imgur.com/CztIXRm.png Windows Repack、それは私には決して.exeファイルを与えません。 – MaloW

+0

@MaloW、インストーラアイコンを選択しましたか?私は1つを選択しない場合も私は立ち往生しています。 – guest

0

編集:私の最初の答えました不完全な。 Windowsはパッケージ化されたアプリケーションのための靴で少し奇妙です。少しテストスクリプトを書く。

Shoes.app do 
    stack do 
    para "DIR: #{DIR}" 
    para "LIB_DIR: #{LIB_DIR}" 
    cdir = Dir.getwd 
    para "CWD: #{cdir}" 
    end 
end 

Dir.getwdはおそらくあなたが望むものです。

+0

Dir.getwd .shyまたは.exeファイルから実行すると、C:/ Users/ /AppData/Local/Temp/shoes-min.4268が返されます。 LIB_DIRはC:/ Users//AppData/Local/Shoesを返し、DIRはC:/ Program Files(x86)/ Shoesを返します。 – MaloW

関連する問題