2016-05-10 10 views
1

Ich verwende Wix Installer v3.9, um ein Setup zu erstellen. Ich möchte einen Datei-Durchsuchen-Dialog öffnen, nachdem die Installation abgeschlossen ist. Der Benutzer kann mehrere Dateien aus einem Verzeichnis auswählen. Dann müssen diese Dateipfade als Befehlszeilenargumente an eine exe übergeben werden. Wie kann ich das tun? Das Wix BrowseDlg lässt nur das Verzeichnis auswählen.Datei Durchsuchen Dialog in Wix Installer

Jede Hilfe wird geschätzt.

Antwort

3

Soweit ich weiß, hat Wix Toolset keine Datei Browse-Steuerelement. Also verwende ich normalerweise C# Custom Action, um diesen Job zu erledigen.

Probieren Sie dieses Beispiel aus und passen Sie es an Ihre Bedürfnisse an.

using WinForms = System.Windows.Forms; 
using System.IO; 
using Microsoft.Deployment.WindowsInstaller; 

[CustomAction] 
public static ActionResult OpenFileChooser(Session session) 
{ 
    try 
    { 
     session.Log("Begin OpenFileChooser Custom Action"); 
     var task = new Thread(() => GetFile(session)); 
     task.SetApartmentState(ApartmentState.STA); 
     task.Start(); 
     task.Join(); 
     session.Log("End OpenFileChooser Custom Action"); 
    } 
    catch (Exception ex) 
    { 
     session.Log("Exception occurred as Message: {0}\r\n StackTrace: {1}", ex.Message, ex.StackTrace); 
     return ActionResult.Failure; 
    } 
    return ActionResult.Success; 
} 

private static void GetFile(Session session) 
{ 
    var fileDialog = new WinForms.OpenFileDialog { Filter = "Text File (*.txt)|*.txt" }; 
    if (fileDialog.ShowDialog() == WinForms.DialogResult.OK) 
    { 
     session["FILEPATH"] = fileDialog.FileName; 
    } 
} 
Verwandte Themen