2008-08-23 14 views
8

シンプルな重視。私はインストーラを作ったことがないし、むしろ多くのことを学ぶ必要はありません。私はファイルの束を手渡すことができるシステムで、それを置く場所についていくつかの賢明な推測をするのが理想的です。XP/Vista以上でVB6用のシンプルなインストールシステムを作成するには?

一般的な質問にお答えください。

しかし私の場合、私はいくつかの制約があります。インストールするプログラムはVB6(またはそれは5?)といくつかの以前のバージョンのVBで書かれていますので、ではなく、はすぐに更新されます。私は実行中のインストールがあり、クリーンなVMを持っていますので、私はループをやっています:インストールを実行し、壊れている場所を見つけて修正し、インストーラに追加して、VMを元に戻してください。誰かがより良いアプローチをしているなら、私は提案に開放されています。

I MUST XPで動作するようにしてください。また、新しいバージョンのWindowsでも動作するようにしたいと思っています。

+0

[Windowsインストーラを構築するための最良の選択は何ですか?](http://stackoverflow.com/questions/3767/what-is-the-best-choice-for-building-windows-installers) – saschabeaumont

+0

@sascha VB6プログラムのインストールはインストールと少し違うので、重複はありません。ネットプログラム – MarkJ

答えて

11

InnoSetupまたはNSISのいずれかの方が簡単です。 ISToolは、セットアップスクリプトの作成をさらに容易にするInnoSetup用の優れたGUIツールです。

+0

私はInnoを使っています(私は他の人を試していませんでした)使いやすくなっています。しかし、ドキュメントのビットライト。 – BCS

+0

NSISは優れています!それを何年も使っています。あなたは非常に簡単なインストーラを作ることができますが、必要に応じて参加することもできます。 – Nerdtron

4

Dependency Walkerは、インストーラから欠落しているDLL見つけるために超便利です。 dllを知ったら、Merge Module Finderを使って、どのマージモジュールがあるかを見つけることができます。

+0

依存性ウォーカーは/本当に/便利でした – BCS

1

私はNSISと協力し、その小さな複雑さのいくつかを幻想的なシステムとしてきました。その無料、プラグインのトンのトンを提供し、私がする必要があるすべてを行うことができた。

5

私はVistaの前に数年前にInnoSetupを使用していて、とても満足していました。私はインストールするファイルとスタートメニューのアイコンをいくつか持っていました。それは偉大な仕事をし、学ぶのは簡単でした。

0

私のアドバイスはこれです。インストーラをできるだけシンプルに保つようにしてください。 Windowsインストーラは非常に複雑なソフトウェアであり、状況が正しく機能しない場合は、何が起こっているのか把握するのが難しい場合があります。私は、Windows Installerの無限ループを経験して、もはやソース.msiファイルがないファイルを修復しようとしていることは確かです。

Windowsインストーラを使用するほとんどの時間は、スレッジハンマーを使用してナットをクラックさせるようなものです。

私はInnoSetupを自分のものに使用し、InstallShieldは職場で使用します(私の意志に反する)。シンプルなスクリプトベースのインストーラーから始め、あなたには正当な理由がある場合にのみWindowsインストーラーを使用してください。 GACにアセンブリをインストールするためのサポート

ノートは、(InnoSetupなど)いくつかの非Windowsインストーラのセットアップツールのために不足していることがあります。

0

をLOVE Inno Setupに使用しました。 「慣れた」ということを強調する。

通常は、シングルファイルインストーラを実行すると、実際のセットアッププログラムが一時フォルダの下にあるフォルダに展開され、実行されます。問題は...いくつかのウイルス対策プログラムはこれを許可していません。

著者はこれを認識しており、何もしません。フォルダ名はランダムなので、アンチウイルスプログラムが使用する除外リストに追加することはできません。

再び。著者はこのことを認識しており、インストール中にアンチウイルスプログラムをオフにするようにユーザーに指示することを示唆しています。 (そのようなことが起きるように)

+4

これはアンチウイルスソフトウェアの問題です。 INNOの設定が行うことは、完全に合理的かつ有効なことです。また、tempフォルダ内のすべてをアンロードしてそこから実行する方が優れています。 – bruceatk

1

プログラム用の完全なセットアップパッケージを作成することは、ほとんどの場合サブジェクトエリアです。多くの要素を考慮する必要があり、私たちのほとんどはWindows 95を使用していません。世界は以前と同じくらい単純ではありません。

対処が必要なことがたくさんあります。これらの「セットアップ」の問題の一部は、プログラムの変更も意味します。たとえば、Vista UACが登場したときに、新しいものと思われる「保護されたフォルダ」という概念があります。私は彼らがすべてadminか何かのように走っていたと思いますか?最も簡単な形式では、書き込み可能なファイルをプログラム内のEXEの隣に置かないようにします(別名「プログラムファイル」)。

もう1つの要因は、レジストリの使用方法が変更されたことです。私はレジストリ仮想化についても言及していませんが、それもその一部です。しかし、COM登録は、マシン単位とユーザー単位で行うことができ、UACをオフにしても、これを無効にすることができます。 Per-User COM Registrations and Elevated Processes with UAC on Windows Vista SP1を参照してください。その結果、セットアップパッケージはregsvr32を実行してはいけません(またはそうでなければCOMライブラリの自己登録エントリポイントを呼び出す)。 SelfReg Tableの「備考」を参照してください。


Windowsインストーラは、ほとんどの場合、前進する方法です。 VB6プログラマは、MSIパッケージを作成するための無料ダウンロードとしてVisual Studio Installer 6.0バージョン1.1を利用できます。 VFPの記事Using Microsoft Visual Studio Installer for Distributing Visual FoxPro 6.0 Applicationsの「COMサーバー」を参照してください。

これは最も簡単なオプションではありませんが、基本を正しく理解するためにVSI 1.1にVBセットアップウィザードがあります。 [CommonAppData]サブフォルダを作成してEveryoneの権利を設定するなどの高度な作業は、IDE外のビルド後のステップで実行する必要があります。これは、サードパーティのツールが、Orcaやビルド後のインストーラスクリプトに頼らずに、より多くのコントロールを提供するのに役立つことです。

スクリプト化された「レガシー」インストーラを作っている人は、それを続行しようとしますが、スクリプトはますます複雑になります。結果は時には不確実です。 Windows 7では、独自のいくつかの新しいシワが導入されています。

ClickOnceはVB6にとって最適なオプションではありませんが、多くのプログラムのXCopyインストールにreg-free COMを使用することはできません。 Reg-free COMは、インストーラパッケージでの使用に適しています。


だから最後にはVB6のプログラムを展開する「最も簡単な」方法は、おそらく、スタートメニューのショートカットを作成するためのスクリプトをオフに起動します自己解凍EXEに包まれたREGフリーCOM XCopyのパッケージになるだろう。あなたがショートカットなしで暮らすことができれば、これはさらに簡単です:パッケージを解凍して、どこに行く必要があるのです!

Make My ManifestまたはregフリーCOMパッケージングの代替ツールを参照してください。

これは、ターゲットシステムがXP(好ましくはSP2)以上を実行している必要があります。ここで唯一可能性があるのは、XP SP3ランタイムがXP SP3まで含まれていないことです。最初にVB6 SP5ランタイムに対してプログラムをテストしたいと思うでしょう。もう1つの不具合:ActiveX EXEをこのように使用することはできません。登録する必要があります。

関連する問題