2016-08-10 12 views
-1

私はCドライブにファイルを配送するためのwixインストーラを作成しました.msiファイルを実行すると、ファイルshipping.Inカスタムアクションの後に私は使用されたカスタムアクションを呼び出してみました。実行中のwixインストーラを閉じるには?

カスタムアクションコード:カスタムアクション作業fine.Ifカスタムアクションの上

  bool isElevated; 
      WindowsIdentity identity = WindowsIdentity.GetCurrent(); 
      WindowsPrincipal principal = new WindowsPrincipal(identity); 
      isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator); 
      if (!isElevated) 
      { 
       DialogResult dialogResult = MessageBox.Show("CustomAction is not running admode , so please refer online ?", "Admin Alert ", MessageBoxButtons.YesNo); 
       if (dialogResult == DialogResult.Yes) 
       { 
        Process.Start("Same Web site link"); 
        Environment.Exit(0); 
       } 
       else if (dialogResult == DialogResult.No) 
       { 
        Environment.Exit(0); 
       } 
      } 

に成功メッセージボックス示した管理モードを実行しません。私はメッセージボックスでオプションを選択していない場合は、wixインストーラを閉じたが、ファイルは出荷されています。私に教えてください、どのようにC#を使用してwixインストーラを停止するには?

+0

いつこのカスタムアクションをスケジュールしていますか? –

+0

こんにちはブライアン、私はmsiインストーラの前に、カスタムアクションの上にスケジュールしています。例:<バイナリID = "Checkadmin" SourceFile = "F:\ Work \ SVN \ BigData \ Wix Burn \ CustomAction \ adminMode \ bin \ Release \ adminMode.CA.dll" /> <カスタムアクション= "CheckAdmin"シーケンス= "1">インストールされていない ranjo

答えて

2

インストールを強化する必要がある場合は、WiXにInstallPrivileges = elevatedと言うだけです。それをチェックするコードを書く必要はありません。または実行順序で特権プロパティの状態を確認:あなたはカスタムアクションが昇格実行したい場合は https://msdn.microsoft.com/en-us/library/windows/desktop/aa370852(v=vs.85).aspx

それは、実行順序でなければなりませんし、繰延と真= noimpersonateマークされ、パッケージはInstallScope = perMachineを持っています。

インストールを増やすことができます。また、何も確認する必要はなく、インストールを妨げる必要はありません。インストールを行うには管理者が必要な場合は、代わりにADMINUSERプロパティとMSIUSEREALADMINDETECTIONを使用するオプションがあります。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa367545(v=vs.85).aspx

ドキュメントが言うようにあなたが1の値を使用して、ソースにそのMSIUSEREALADMINDETECTIONを宣言したいです。 Privilegedプロパティを起動条件として使用します。ユーザーが管理者でない限り、セットアップは開始されません。特権をチェックするタイプ19カスタムアクションが設定されている代わりに推奨しています

https://msdn.microsoft.com/en-us/library/windows/desktop/aa368772(v=vs.85).aspx

:しかし、ここで2本目のガイドライン

をし、例はここにあり、スクロールダウン:

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Help-on-type-19-custom-action-td712797.html

ただし、インストールを昇格させる必要がある場合は、InstallPriviges =あなたのPackage要素で昇格してください。

+0

いくつかの例を共有してください – ranjo

+0

こんにちはPhilDW、私はあなたのコメントを使用しました。私のために働いていない、私にいくつかのサンプルを共有してください。 – ranjo

関連する問題