問題タブ [basic-msi]

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.

0 投票する
1 に答える
546 参照

installshield - installshieldbasicmsiプロジェクトでダイアログボックスの応答を読み取る

ダイアログボックスSAPEnvdatには、SAPEnviroという名前の同じプロパティで囲まれた8つのラジオボタンがあります。私がやりたいのは、installscriptでその値を取得し、クリックされたボタンに応じてレジストリ値を設定することです。msigetproperty関数を使用しましたが、そのsvproperty引数は毎回空白を返します。一方、nvbuff size引数は、返される値のサイズに応じて値を返します。

0 投票する
1 に答える
1423 参照

windows-installer - dll への入力としてインストール パスを渡す - 基本的な MSI - InstallShield 2012

[ Destination Folder] ダイアログから選択されたインストール パスを、カスタム ダイアログからの DLL への入力として渡します。

InstallShield 2012 を使用して基本的な MSI インストーラー プロジェクトを設計しています。カスタム ダイアログでユーザー ログイン情報などを取得するカスタム ダイアログを設計し、詳細を DLL に渡し、それに応じてデータベースを作成します。ただし、DBが適切なフォルダー内に作成されるように、インストールパス[宛先フォルダーダイアログで選択]をdllへの入力として渡す方法を知る必要があります。私の DLL アクションは、Installfiles の後に実行されます。

前もって感謝します !!上記でわからないことがあれば教えていただけると幸いです。

0 投票する
1 に答える
479 参照

windows-installer - インストールを中止せずにカスタム ダイアログで dll からのエラー メッセージを処理する - 基本の MSI -Installshield 2012

私は Installshield 2012 を使用して基本的な msi インストーラーを構築しています。ここでは、検証のために dll に渡されるユーザー入力を取得するカスタム ダイアログがあります。dll は成功または失敗に基づいて 0 または 1 を返し、失敗した場合は msgbox も提供します。

問題は、メッセージ ボックスで [OK] をクリックした後、インストールが中止されることです。インストールを中止せずにメッセージ ボックスをスローする方法はありますか [HTML フォームの検証に似ていますか??]

0 投票する
1 に答える
4794 参照

installshield - カスタム アクションが失敗した場合のインストールのロールバック [InstallFinalise 後] -Basic Msi -Installshield 2012

installshield 2012 spring professionalを使用して基本的な msi インストーラーを作成しています。ここでは、カスタム dll アクションを呼び出してインストール フォルダー内にデータベースを作成するユーザーからデータを収集するカスタム ダイアログがあります。

InstallFinalise の後に実行する dll カスタム アクションをスケジュールしました。dllからの戻り値を確認し、値が失敗を示している場合は、インストール プロセスを中止してロールバックする必要があります。

エラーをキャッチしてインストールを中止することはできましたが、問題はロールバックにあります。現在、インストールは中止されていますが、ファイルは既に作成されています。インストールをロールバックするにはどうすればよいですか? 可能ですか..何かアイデアはありますか??

0 投票する
0 に答える
21180 参照

windows-installer - アンインストールしても INSTALLDIR 内のファイルが削除されない - 基本の MSI - InstallShield 2012

InstallShield 2012 Spring Professional を使用して基本の MSI インストーラーを作成しています。

C:\Program files\Test Setup\ProductnameここでTest Setupは、アプリケーション ファイルに としてフォルダ構造を作成し、INSTALLDIRこの中にサブディレクトリを作成し、そのうちの 1 つ ( launch) に.exeファイルを含めます。

Add files and foldersProject Assistant のアプリケーション ファイル メニューのオプションを使用して、これらのファイルとディレクトリ構造を追加しました。

製品をインストールした後、アンインストールすると、一部のファイルが削除されているのに、起動サブディレクトリ内のいくつかの.exeファイルが削除されていないことがわかりました。.exeこれらのどれ.exeも開始されていません。

InstallShield は、変更または使用されていない限り、作成したすべてのファイルとフォルダーを削除することになっていますが、アンインストール中にファイルを実行しておらず、ファイルを変更していません。どこが間違っていますか?

0 投票する
3 に答える
1564 参照

windows-installer - インストール中に以前の製品をアンインストールすると、Windows から製品がアンインストールされない

製品の新しいバージョンをインストールする Installshield Basic MSI インストーラーがあります。ユーザーがまだ古いバージョン (Installscript インストーラーによってインストールされている) を使用している場合、インストーラーは新しい製品のインストールに進む前に、古い製品のアンインストール文字列を実行します。

これにより、ユーザーが製品の新しいバージョンをアンインストールしようとすると、問題が発生します。プログラムを追加/削除してアンインストーラーを実行すると、アンインストーラーが実行されてファイルが削除されますが、追加/削除リストを更新すると、製品がまだインストールされているように見えます。ファイルは削除されましたが、レジストリに製品の残骸が残っています。

製品を効果的にアンインストールする唯一の方法は、サード パーティのレジストリ クリーナーを使用することです (場合によっては、これを基に作成されたスクリプトも使用します)。奇妙なことに、ユーザーが新しい製品をインストールする前に古い製品を手動でアンインストールすると、新しい製品のアンインストールは正常に機能します。また、古い製品をマシンにインストールせずに新しい製品をインストールすると、クリーン アンインストールも行われます。

2つの製品は製品コードが異なります。これを引き起こしている可能性のあるアイデアはありますか?ありがとう!

0 投票する
1 に答える
914 参照

activex - Installshield を使用してベーシック MSI インストーラーのサイズを縮小する方法

基本的な MSI インストーラー [installshield 2012 spring professional を使用] を作成して ActiveX コントロールをインストールしました。基本的にコンポーネントを追加し、キー ファイルの「インストール時に com 情報を抽出する」オプションを有効にしました。

宛先パスをハードコーディングし、ライセンス、会社情報、宛先パス選択ダイアログを無効にしました。seup.exe の下のリリースでは、圧縮 MSZIP を有効にしました。

ActiveX dll のサイズは 200 kb ですが、生成される setup.exe ファイルのサイズは 1.5 Mb です。さらにサイズを小さくするためにできることはありますか?

0 投票する
1 に答える
137 参照

installshield-2012 - InstallShield の回復力を回避する方法

私はいくつかのdllをある場所にインストールする基本的なMSIプロジェクトを持っています"C:\Program Files (x86)\CompanyA\Service"。フォルダ アクセス許可は、標準アカウント (非管理者) へのアクセスを制限します。ここで、上記の場所にある DLL を使用しない標準アカウントを使用してアプリケーションを起動します。ただし、InstallShield の復元機能により、コンポーネントをチェックしようとします。上記のコンポーネントにアクセスできないため、自己修復プロセスが開始され、「Windows が ProductA を構成している間お待ちください」というダイアログが表示されます。

この復元機能をオフにするオプションはありますか? または、再インストールダイアログを非表示にする方法はありますか?

上記の問題に対する他の解決策があれば提案してください。

0 投票する
1 に答える
86 参照

windows-installer - Installshield は、アンインストール時にバイトコンパイルされたファイルを残します

いくつかの python ファイルをコンポーネントとして使用して、Installshield Basic MSI プロジェクトをビルドしました。アンインストールすると、バイトコンパイルされたファイルが残ります。

それを行う方法の1つはInstallscript、アンインストール時に呼び出されるものを書くことです。それを行うためのエレガントな方法はありますか?