問題タブ [msi-patch]
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-installer - パッチを順番にアンインストールする際の Windows インストーラー「エラー 1308。ソース ファイルが見つかりません」シナリオ
Installshield 2012 で Patch Design を使用して作成された一連のアンインストール可能なパッチが必要です。最初の 2 つのパッチは、アンインストール時に正常に機能します。ただし、3 番目のパッチは、パッチ 1 および/またはパッチ 2 が既に適用されているときにアンインストールされた場合にのみ、エラーが発生します。
これらのエラーは、さまざまなファイルに関して 26 件あります。ファイルやコンポーネントに明らかなパターンがない、または機能がない
注: パッチ 3 しか適用されていない場合、アンインストールしてもこのエラーは発生しません。
Patch Design で同じオプションを使用して 3 つのパッチすべてを作成しました。私が理解している唯一の顕著な違いは、パッチ 3 には最初の 2 つよりも多くの変更 (ファイルの更新) が含まれていることです。繰り返しますが、さらに多くの変更があります。
私の質問は次のとおりです。
これは、3 番目のパッチ自体ではなく、一連のパッチがインストールされている場合にのみ発生するのはなぜですか?
パッチのアンインストールが、パッチのビルド時に設計時のみの場所からファイルを取得しようとするのを防ぐにはどうすればよいですか? または、これは設計によるフェッチですが、キャッシュが過負荷または混乱している可能性があります..?
更新 - 詳細情報 (Glytzhkof の要請による): パッチには 96 個のファイルの変更が含まれており、これは基本の MSI パッケージの約半分のサイズです。それは実際には「Dev」ブランチの作業から外れています。いくつかの新しいファイルが追加されました。一部は元々削除されていました (実際にパッチを行っていることがわかったときに元に戻す必要がありました...)。これ以上状況を説明すると、その分野の専門家としてあなたを怒らせる可能性があります。
私はメジャー アップグレードを販売しようとしてきましたが、パッチの必要性を時代遅れにするためにインストーラーを少し調整するだけで済みます。製品のアンインストールには、非対話型にするためのパラメーターが必要です (メジャー アップグレード シナリオで機能するには、このパラメーターが必要です。現在、これはアンインストール シーケンスの一部にすぎません)。それが唯一の本当の問題です - しかし、それを修正することはスペードで支払うでしょう. ただし、その問題を修正しないことが決定されました。私はその問題を反復ごとに「バンプ」しようとします。サイコロはありません。メジャー リリースにはパッチが必要だと言われました。ですから、ここで尻尾を振って犬を振ろうとしています。
そして、はい、パッチはより高速になる可能性があります (ここで悪魔の擁護者を演じさせてください)。しかし、実際には、これらのものがとにかく自動的に展開される場合、30 秒と 90 秒の違いはありますか? はい、ファイルのコストを調整してインストーラーを最適化する方法を見つけて、速度が向上するかどうかを確認することも検討しましたが、それでもパッチが要求される別の理由があると確信しています.
別の更新: 1308 エラーで言及されているファイルは、ターゲット システムの%windir%Installer\$PatchCache$\Managed\{PackedProductCodeOfMyBaseMSI??}
フォルダ。このキャッシュからさらにファイルを削除すると、見つからないファイルに対応する同じエラーが発生するため、これにより 1308 が発生する可能性があります。問題は、なぜすべてのファイルがこのPatchCacheフォルダーにないのでしょうか?
installation - Windows インストーラーのパッチの失敗 - 最初のアクションの後にシーケンスの実行が停止し、インストール プロセスがリセットされる
複数の顧客サイトで、当社のパッチの 1 つに異常な散発的な障害が発生しています。最終的なエラー コードは 1648 (パッチ セットに有効なシーケンスが見つかりませんでした) です。これは、パッチ トランスフォームの 1 つから概要情報ストリームを読み取ろうとしたときにエラー 2219 (無効なインストーラ データベース形式) が発生したために発生しています。しかし、これは以前のサイレント エラーの副作用に過ぎないと思います。私たちのパッチはすべて MinorUpdateTargetRTM プロパティを使用しているため、以前にインストールされたパッチは自動的に置き換えられるため、シーケンスする必要はありません。当社のお客様は通常、ほぼ同一のラップトップを数百台使用しており、ほとんどのお客様がこの更新プログラムを問題なくインストールしています。ほとんどの場合、1 つのデバイスだけが更新に失敗しています。
ログの主要なセクションは次のとおりです。初期化が完了し、Windows インストーラー サーバー プロセスが実行シーケンスを開始します。最後の通常のログ エントリは、「Doing action: ISSetupFilesExtract」です。ISSetupFilesExtract は、実行シーケンスの最初のアクションです。3 分間の一時停止があり、その後、インストール全体が何らかの形でリセットされ、最初からやり直されたように見えます。次のログ エントリはクライアント プロセスによって書き込まれます。通常、サーバー プロセスは実行シーケンスを実行し続けます。インストールの最後まで、クライアント プロセスから別のログ エントリが表示されることはないと思います。ここで何らかの壊滅的な障害が発生していると思われますが、それが何であるかはわかりません。SequencePatches が失敗するのは、この不可解なリセットが発生した後でのみです。1回目で無事終了。
私の質問は、インストールプロセスがこのように「リセット」される原因を誰か知っていますか?それについて私にできることはありますか? 前述のとおり、このパッチは 99% の確率で正常にインストールされます。失敗したマシンの完全なログは、https ://docs.google.com/document/d/1LK6HdIcetKOGqFbi5nGKAuDolvhZ3PcLxzJHv2wNDsQ/pub で入手できます。ありがとう。
コメントへの追加情報:
当社の製品は、サービス パック リリースには MSI を使用し、ポイント リリースにはパッチを使用します。各パッチは累積的であり、MinorUpdateTargetRTM プロパティを使用して以前のすべてのパッチに取って代わります。これらは、主にアプリケーション ファイルを更新するために使用されます。信頼性を向上させるために常にファイル全体を含め、ビット レベルのパッチは使用しません。ベース MSI は 46 MB で、1778 個のファイルが含まれています (これは複雑なエンタープライズ製品です)。失敗しているパッチは非常に大きく、57 MB です。240 の新しいファイルを追加し、413 の既存のファイルを更新します。
installation - InstallShield を使用して開発されたパッチのアンインストールが正しく機能しない
Installshield を使用して製品のパッチを作成しました。パッチを適用すると、製品ファイルが正常に更新されます。ただし、パッチをアンインストールしようとすると、ターゲット m/c からパッチに新しく追加された dll が正常にアンインストールまたは削除されますが、パッチによって変更された一部の dll または exe は、パッチのアンインストール時に元に戻りません。
バージョンを確認すると、一部の dll の日付と時刻がパッチが適用された日付であり、パッチのアンインストール後もバージョンは新しいままです。これは、dll が元に戻されていないことを意味します。
誰かがパッチのアンインストール時に一部の dll が元に戻らない理由を理解するのを手伝ってくれませんか? パッチのアンインストール規則に正しく従っています。
sql-server-2012 - アプリケーションのインストール中に MS SQL Server 2012 をインストールする
その人の実行ファイルが Delphi 言語で書かれたこの金融アプリケーションがあります。そのセットアップ プロジェクトに取り組んでいます。非常に多くのステップがあります。最も紛らわしい必要な手順は、MS SQL Server をカスタム条件でインストールすることです。アプリケーションのセットアップ中にMS SQL Server 2012 ( Standard エディション以上)をインストールできるかどうか疑問に思っています。
wix - WIX: [プログラムと機能] -> [インストールされた更新プログラム] で [発行者] 情報を表示する方法
私はいくつかの MSI とその MSP の作成を担当しています。MSI を使用してそれらをすべてインストールしたところ、「プログラムと機能」の下に会社名が正しく表示されました。ただし、MSP を使用して更新プログラムをインストールした後、[プログラムと機能] -> [インストールされた更新プログラム] の [発行者] 列が一部の製品で空白であることがわかりましたが、一部の製品には私の会社名が含まれていました。
私は常に次の Patch.wxs をテンプレートとして使用し、componentRef を追加しているため、空白のパブリッシャーを見て非常に驚いています。
私は Patch/@Manufacturer がパブリッシャーの列のものだと思っていました。誰でも私を助けることができますか?
javascript - Max/MSP JavaScript の歪みは可能ですか?
Max/MSP javascript で DSP アルゴリズムを実装できるかどうかを友人に教えてあげようとしています。彼は授業でそう言われ、私の助けを求められましたが、実際のサンプルを処理する方法が見つかりません。
TL;DR javascript を使用して Max/MSP でサンプルを取得して返すことは可能ですか? ありがとう
msbuild - WiX PCP パッチ ターゲットを並行してビルドするときに、この「内部 PatchWiz エラーが発生しました。フォルダを作成できません」というエラーを回避するにはどうすればよいですか?
WiX パッチ プロジェクトのペア (パッチ作成のもの..) を並行してビルドしようとしていますが、64 ビット構成のプロジェクトは常に PatchWiz エラーで失敗します。
私は試した:
- 実行前に一時フォルダーをクリーニングします。
- 構成順序の切り替え。
- 実行間にスリープ/タイムアウトを追加する
運がない。
ここに私が実行している私のbuild.projがあります:
私はPatchWizに翻弄されていますか? それとも、私が間違っている可能性がありますか?ハックのアイデアはありますか?(そして、そもそもパッチング/MSP によって私が間違っているとは言わないでください! 私はそれを認識しています! これとは別に、私はメジャー アップグレード MSI のような男です)。