問題タブ [windows-installer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - Google Chrome のような AppData にプログラムをインストールする利点は何ですか?
Vista と XP の両方で Chromium が AppData にインストールされていることに気付きました。Googleがそれを行い、他のアプリケーションがこれを行う場合、それは何らかの形の保護があるためでしょうか? Google と同じことを行うインストーラーを作成する必要がありますか?
.net - .MSIは常に以前のバージョンをアンインストールするとは限りません
多くのアプリケーションでは、Visual StudioSetupProjectを使用してMSIインストーラーを作成します。ほとんどの場合、インストールは正常に機能しますが、以前のバージョンが正しくアンインストールされない場合があります。ユーザーはデスクトップに2つのアイコンが表示され、[プログラムの追加と削除]リストにアプリケーションが2回表示されます。パターンはまだ見つかっておらず、ほとんどの場合、インストーラーは問題なく動作します。
wix - WiX インストール セットを同じフォルダにアップグレードする
元のインストールと同じフォルダにWiXインストールでビルドされたインストール セット (MSI) をメジャー アップグレードするにはどうすればよいですか?
インストールはアップグレードとして正しく検出されますが、ディレクトリ選択画面はデフォルト値のまま表示されます (現在のインストール フォルダとは限りません)。
最初のインストール時にレジストリ キーにインストール フォルダを保存し、アップグレード時にこのキーを読み取るなど、手作業を行う必要がありますか? もしそうなら、何か例はありますか?
または、 MSIまたは WiXでこれを実現する簡単な方法はありますか?
参考までに、現在の WiX ファイルは以下のとおりです。
.net - .Net Installer クラスのカスタム アクションから ProductCode を見つける方法
Installer.OnCommitted コールバックでアプリケーションの ProductCode を知る必要があります。これを決定する明白な方法はないようです。
visual-studio-2008 - VS2008 x86 インストーラーで x64 アセンブリを x64 にインストールするにはどうすればよいですか?
VS2008 インストーラー (およびカスタム Orca アクション) を使用して、.NET 製品のインストーラーを作成しています。
最近、私が使用していたサードパーティ製アセンブリの 1 つが x86 固有のものであることがわかりました (ネイティブ コードが含まれているため)。そのため、x64 のお客様は、アセンブリがプラットフォームに適していないというエラーで起動時にクラッシュしていました。
私はそのような顧客に、このサードパーティ アセンブリの x64 バージョンのコピーを送り、既存の x86 アセンブリにコピーするように伝えました。うまくいきました、甘い!したがって、インストーラーにこれを実行させる必要があります。
これは実際には自明ではないようです:(。理想的には、インストーラー(両方のプラットフォームで実行できるため、x86になります)に、このサードパーティアセンブリのx86バージョンとx64バージョンの両方を含め、適切なものをインストールするだけです。つまり、ユーザーの生活を楽にする単一のインストーラーが必要です。
MSI条件ステートメントなどを使用して、これがうまくいったと思いました。しかし、どうやらいいえ...「x86」または「x64」を指定しない限り、VS2008 セットアップ プロジェクトはコンパイルされません。x86 を指定すると、x64 アセンブリを含めることができないというコンパイル エラーが発生します。x64 を指定した場合、結果は x86 コンピューターでは実行できません。くそ!
誰かが以前にこの問題を抱えていたに違いありません。残念ながら Google は役に立たないので、StackOverflow に頼ります。
installation - デモ プロジェクトのインストール - ベスト プラクティス
Windows インストーラー (XP および Vista を対象) を使用して、アプリケーションと共にデモ プロジェクトとファイルをインストールするためのベスト プラクティスはありますか?
windows-installer - AD 経由で簡単に配布できるように、Inno Setup インストーラーを MSI 内にラップすることは実行可能/賢明ですか?
私たちのインストーラーは Inno Setup で書かれており、実際には非常に満足しています。それでも一部の顧客は、Active Directory 経由でより簡単に配布できる MSI インストーラーを求め続けています。/LOADINF
Inno Setup の-mechanism を独自のオプションで拡張することにより、インストーラーが自動化された無人インストールをうまく処理できるようにするために、すでにある程度の努力をしています。
MSI を求める顧客を満足させるために、WIX を使用して作成された可能性のある MSI 内に通常のインストーラーを単純にラップすることを考えていました。問題は、現在のインストーラーが提供する高度な構成可能性を維持できるかどうかです。無人/大量インストールのシナリオで外部 MSI を介して Inno Setup インストーラーのオプションを公開するにはどうすればよいですか?
MSI の作成と WIX を自分で実際に掘り下げるまでには至っていないことに注意してください。今のところ、私が興味を持っているのは、自分が何について話しているのかを知っている人々が、これがそもそも私たちのエネルギーを投資するための実行可能で賢明なアプローチであると考えているかどうかだけです...
[編集:] 最初は、一時的な抽出と実行のアプローチでできると思っていました。つまり、MSI は単に Inno インストーラーをターゲット PC に配信し、そこで/VERYSILENT
-mode で実行するための容器として機能します。しかし、MSI を要求するお客様は、中央の場所からインストールをアンインストールしたり、インストールを変更したりできることも望んでいると思いますが、そのシナリオではそれは不可能だと思います。
PS: ここにも MSI 用の WISE の古いコピーがありますが、実際にはその経験が、最初から代わりに Inno を使い始めた理由です...
wix - .msi ファイル自体を (おそらくカスタム アクションを介して) インストールできますか?
インストール プロセスで、含まれているファイル/コンポーネントと共にそれ自体を TargetDir に展開する MSI を構築したいと考えています。
そのため、MyApp.msi のファイル テーブルには、MyApp.exe と MyAppBootstrapperEmpty.exe (リソースなし) が含まれています。
ユーザーは MyAppBootstrapperPackaged.exe を起動します (MyApp.msi をリソースとして含み、インターネットのどこかから、または電子メールなどから取得します)。MyAppBootStrapperPackaged.exe は、MyApp.msi を一時フォルダーに抽出し、msiexec.exe を介して実行します。
msiexec.exe プロセスが完了したら、MyApp.msi、MyBootstrapperEmpty.exe (および %ProgramFiles%\MyApp フォルダー内の MyApp.exe が必要です。これにより、MyApp.exe は実行時に MyApp.msi に確実にアクセスできるようになります (以下を作成するため)。言及されたパッケージ内容)。
MyAppBootstrapper*.exe は、MyApp.msi を %ProgramFiles%\MyApp フォルダーにコピーしようとする可能性がありますが、そのためには昇格が必要であり、Windows インストーラーのアンインストール プロセス ([プログラムの追加と削除] などから) による削除は許可されません。保存する必要があります。
明らかに(明らかだと思います-間違っていますか?)メディア/ CAB(鶏と卵のシナリオ)にファイルとしてMSIを含めることはできないため、インストール前にカスタムアクションを介して実行する必要があると思います元の MSI を MSI DB のメディア/CAB に追加し、その場でファイル テーブルに適切なエントリを追加します。これを行うことができますか?
コンテンツ ファイルがアプリと一緒にのみ配布されるコンテンツ配布モデルを考えてみてください。コンテンツは、実行時にアプリを介してエンド ユーザーによって生成され、アプリとコンテンツの両方を含む配布可能な EXE にパッケージ化されます。
MyApp のインストーラーは MSI のままである必要がありますが、Bootstrapper EXE によって実行される場合があります。インストールされた MyApp.exe は、MyApp.msi と EXE の両方にアクセスできる必要があります。EXE は、MSI によってインストールされる基本 (空の) MyAppBootstrapper.exe からアプリによって実行時に「アセンブル」されます。エンドユーザー。EXE のリソース MSI は、ランタイム パッケージを実行するアプリのインストールに使用されたものと同じである必要があります。
WIX は MyApp と一緒にインストールする必要はありません。
実行時/パッケージング時にネットワークに依存することはありません (つまり、Web サービスを介してパッケージ化を行うことはできません。ローカルで行う必要があります)。
私はカスタム アクション (マネージドおよびアンマネージド、DTF 経由など) に精通しています (そして使用しています)。
windows-installer - Windows の [プログラムの追加と削除] で正しいサイズを表示する
Windows の [プログラムの追加と削除] のエントリのレジストリ設定を手動でセットアップする必要があります (XP および Vista の場合)。表示されたサイズ以外はすべて機能します。
Raymond Chen によるこの 2004 年の投稿によると、レジストリ値を設定することで可能になるはずEstimatedSize
ですが、機能しません。 この最近の MSDN ページでは、EstimatedSize
値は「Windows インストーラーによって決定および設定されます」と表示されています。Windows インストーラーの外部でサイズ値を手動で設定する方法を知っていますか?
(単一の大きな MSI を使用するという提案は歓迎されますが、過去にそれを行ったことがあり、困難で柔軟性がないことが証明されています。現在のアプローチは、何百もの小さな MSI パッケージを管理するカスタム アプリケーションですが、これはアプリケーション自体が書き出す必要があることを意味します。プログラムの追加と削除のレジストリ設定。)
windows-installer - Windows インストーラー: 管理者専用のスタート メニュー ショートカットを作成するにはどうすればよいですか?
アプリケーションのインストールに使用している WSI インストーラー パッケージがあります。アプリケーション自体は通常のユーザーが実行できますが、システム管理者のみが実行できる構成アプリがあります。したがって、すべてのユーザーの [スタート] メニューに表示されるのではなく、管理者だけが表示されるようにします。
すべてのユーザー用のショートカットと、管理者専用のショートカットを作成するように Windows インストーラーに指示する方法はありますか?