0

私のアプリケーション (C#.net を使用して開発) をアンインストールすると、InstallShield は、アプリケーションが既に開いていること、およびアプリケーションを本当に閉じるかどうかを示すメッセージを表示します。[無視] を選択すると、アンインストールが続行されます。一部のファイルとアプリケーションの exe が閉じられていません。アンインストール時に installshield でそれらを閉じる方法。または、設定しなければならないプロパティがいくつかあります。アンインストール時にカスタム アクションを追加すると、プロセスを強制終了できることはわかっていますが、installshield で実行すべきではありませんか?

4

2 に答える 2

0

プロジェクト タイプが InstallScript MSI であるか、Installscript をサポートしている場合は、次のようなコードを記述します。

export prototype _Server_UnInstalling();
function _Server_UnInstalling()
STRING Application, ServiceName;
begin    
   //application name 
    Application = "Demo";
    MessageBox("In _Server_UnInstalling",INFORMATION);
    //Check whether application is running or not.
    if ProcessRunning( Application ) then
        MessageBox("Demo is running",INFORMATION);
        //Close server Application 
        ProcessEnd(Application);
    endif;                          

    //if application is having service at the background then 
    ServiceName = "Demo Server";
    //Uninstall the server windows services on uninstallation.
    ServiceRemoveDuringUninstallation(ServiceName);

end;

上記の例はスケルトンを示しています。ProcessRunning、ProcessEnd、および ServiceRemoveDuringUninstallationメソッドのロジックを実装する必要があります。Installshield のヘルプ ドキュメントをソース コードとともに参照できます。

お役に立てれば...

于 2009-10-12T12:56:18.157 に答える
0

開いているアプリケーションを再起動することが目的であり、「無視」の選択を尊重しない場合は、「REBOOT」プロパティを「強制」に設定することを検討してください。これにより、そのユーザーにシステムを再起動するように求められるため、目的の結果が得られます。

于 2009-06-03T04:07:49.320 に答える