2009-07-07 2 views
0

私はソフトウェアセットアップパッケージを作成しています。以前はInno Setupを使用していましたが、これは非常にうまく動作します。ソフトウェアセットアップパッケージの問題を作成する

Innoセットアップで私が直面した問題は、セットアップUIのすべての言語(簡体字中国語など)をサポートしていないことです。

VSTS 2008のセットアッププロジェクトはほぼすべての言語をサポートしていますが、現在のインストーラから別のインストーラを呼び出して、エンドユーザーが依存ソフトウェアパッケージをインストールできるようにすることはできません。

公開するマイプログラムは、C#+ VSTS 2008 + .Net 2.0で書かれたWindowsプラットフォーム(VistaおよびXP)用です。

私の問題のアドバイスはありますか?事前に

おかげで、あなたの質問へのコメントの一つとして ジョージ

+1

Visual Studioでセットアッププロジェクトを使用し、デフォルトで代替言語がサポートされているかどうかを確認できますか。 – DevelopingChris

+0

こんにちはDevelopingChrisさん、セットアッププロジェクトは、現在のインストーラから別のインストーラを呼び出して、エンドユーザが依存するソフトウェアパッケージをインストールできるようにしていないようです。たとえば、私のソフトウェアはいくつかの特定のソフトウェアに依存しています。依存ソフトウェアをソフトウェアインテグレーションパッケージにバンドルし、依存ソフトウェアをインストールするようユーザーに促します。コメントはありますか? – George2

+4

翻訳をInnoSetupに追加するのはどうですか?言語ファイルは十分にシンプルに見えるし、パッケージには素敵なものになるでしょう。いくつかの例をhttp://www.innosetup.com/files/istrans/でチェックしてください - あなたのソフトウェアがSimplified Chinieseでも利用可能であると思いますので、InnoSetupの翻訳を追加するだけで十分でしょうか? – ylebre

答えて

5

は、単にあなたのInno Setupのに必要な言語を統合することを示唆しています。

[Languages] 
Name: "en"; MessagesFile: "compiler:Default.isl" 
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" 

これは、UIがEnglischとオランダの両方で表示することができます:あなたはLanguagesセクションを追加することによってそれを行います。それに応じて他の翻訳を追加することもできます。

Windowsインストーラが「ネストインストール」(MSIからMSIを実行する)を許可しないという事実は、迷惑になる可能性があります。ただし、MSIインストーラをUIレス(Inno Setup)のInno Setupにパッケージングし、Inno SetupでMSIを1つずつ実行させることを検討することもできます。

EDIT
これは、あなたの依存関係をインストールするには、EXEファイルを実行することができる方法を示します。ソフトウェアの後にインストールされる可能性があることに注意してください。ソフトウェアの前にインストールする必要がある場合は、小さなパスカルスクリプトをコーディングする必要があります。これはヘルプファイルで説明しています。

[Files] 
DestDir: {tmp}; Source: .\Files\sample.exe; Flags: deleteafterinstall; 
[Run] 
Filename: {tmp}\sample.exe; StatusMsg: Installing prerequisite 

これは、セットアップにファイル.\Files\sample.exeを含むインストール時にTEMPフォルダにコピーし、セットアップが完了した後、それを削除します。その後、ファイルをコピーした後、TEMP\sample.exeを実行し、ファイルが終了するのを待ちます。あなたが実行するためのInno Setupを使用している

  1. :2の可能な場合があります

    [Run]セクション内の項目の順序にOPさんのコメントについて

    EDIT 2
    実際のソフトウェアのインストール(ファイル、レジストリエントリのコピーなど)、さらに前提条件のインストーラを実行する必要があります。

  2. あなたのソフトウェアにも別のインストーラがあります。前提条件とソフトウェアのインストーラを実行するにはInno Setupが必要です。ケース1の場合


使用して、多くのセットアップに見られるように、ユーザーが設定した後、アプリケーションを起動することができますしたいと思い除いあなたは、全く[Run]セクションにあなたのEXEファイルを配置する必要はありません。チェックボックス(「今すぐXYZを実行しますか?」)。ケース2の場合

Filename: {app}\yourprogram.exe; StatusMsg: Run the application; Flags: postinstall skipifsilent unchecked; Description: Run the application now 

:その場合は、あなたのEXEのために次の行を使用し
は、私はその依存関係に応じて[Run]セクションのエントリを注文すると思います。つまり、最初のエントリは他の人が依存しているエントリで、最後のエントリはアプリケーションの設定です。しかし、私はエントリが処理される順序についてはわかりません。

これは[Run]セクションのドキュメントで回答される可能性があります。疑問があるときは、ヨルダン・ラッセル(Inno Setupの著者)に助言を求めてください。彼は素敵な人です。最後に彼に郵送したとき、彼はかなり素早く返答しました。

+0

おかげトルステン(と思う)、コンピュータ内のすべてのファイルタイプと互換性があり、そして私はあなたのソリューションの作品を試してみました「IExpressの」試みることができます、クール!さらに2つの混乱があります。1. MessagesFileの値が正しい限りNameの値と値は任意の値にできますか?これを確認できますか? 2.依存ソフトウェアはmsi形式では提供されませんが、exe形式で提供されます。私の問題のためのアドバイスソリューション? – George2

+1

こんにちは、名前の値は何でもかまいません。 Inno Setupに付属のヘルプファイルを見てください。それを開き、「スクリプトセクションの設定」を参照してください。詳細については、言語セクションの説明があります。前提条件をインストールするためにEXEファイルを実行する必要がありますか、それともどこかにコピーする必要がありますか? –

+1

私の答えを編集して、アプリケーションをインストールするときに "一時"ファイルを実行する方法を示しました。 –

関連する問題