Frage

Ich habe Anwendung, die Dateien erzeugt. Ich möchte diese Dateien mit der Anwendung anschließen, damit Doppelklick in Datei meine Anwendung startet.

Alles funktioniert ordnungsgemäß, außer dass das Symbol wie Symbol meiner Anwendung gleich aussieht. Ich möchte ein Symbol für die Anwendung und ein Symbol für seine Dokumente.

Standardicon -Wert in der Registrierung erfordert "app.exe, 1" -Syntax, wobei 1 Icon Index ist. Es scheint, dass .NET -Ressourcen keine Win32 -Ressourcen sind.

Ich habe versucht zu folgen, aber ohne Erfolg:

  1. Auswählen von "Embedded Resource" als Erstellung der Datei.
  2. Hinzufügen von Symbol zur Ressourcendatei.

Das einzige, was funktioniert hat, ist die Icon -Datei, die von der ausführbaren Datei getrennt ist und darauf hinweist. Das erscheint mir jedoch wie die Übergabe.

Irgendwelche Ideen, wie man das löst?

War es hilfreich?

Lösung

Haben Sie versucht, 2 als Symbolindex festzulegen?

EDIT: Ich habe einen Weg gefunden, aber Sie müssen es für jeden neuen Build noch einmal tun.

  1. Öffnen Sie die .exe -Datei in Visual Studio (Datei -> Datei öffnen).
  2. Klicken Sie mit der rechten Maustaste auf den Symbolordner und wählen Sie Ressource hinzufügen
  3. Klicken Sie auf die Schaltfläche Importieren
  4. Wählen Sie Ihre .ICO -Datei aus
  5. Möglicherweise müssen Sie sich mit den Symbolnummern anlegen, ich denke, die niedrigste Zahl (Beispiel 101) wird das Symbol der Anwendung sein
  6. Denken Sie an die neue Icon -Nummer und setzen Sie sie als Index fest

Bearbeiten 2: Probieren Sie diesen Artikel aus: http://www.codeprroject.com/kb/dotnet/embedmultipeiconsdotnet.aspx

Andere Tipps

Wenn Sie den Wix Toolset verwenden (http://www.wixtoolset.org) Um Ihre Anwendung zu installieren

Hier ist meine magische Wix -Beschwörung:

    <!-- Your executable -->
    <File 
        Id="MaAppExe" 
        Name="MyApp.exe" 
        Source="MyApp.exe" KeyPath="yes" >
    </File>

    <!-- your document icon -->
    <File 
        Id='IconMyAppDoc.ico' 
        Name='IconMyAppDoc.ico' 
        Source='$(var.MyApp.ProjectDir)\Resources\Images\Icons\docicon.ico' />

    <-- File Extension and associated document icon -->
    <ProgId 
        Id='MyApp.MyAppExtension' 
        Description='My App Data File' 
        Icon='IconMyAppDoc.ico'>
        <Extension 
            Id='MyApp' 
            ContentType='text/plain'>
            <Verb 
                Id='open' 
                Command='Open' 
                TargetFile="MyAppExe" 
                Argument='"%1"' />
         </Extension>
    </ProgId>
</Component>

DefaultIcon akzeptiert auch einen Pfad zu einer gültigen .ICO -Datei als Symbol.

Sie müssen sicherstellen, dass Sie Win32 -Symbole in Ihrem Projekt nicht nur .NET -Symbole haben. Ich hoffe, dass jemand eine einfache Möglichkeit hat, dies zu tun, aber in der Zwischenzeit heißt es ... hier geht es ...

Kompilieren Sie Ihre Baugruppe und wählen Sie dann von Visual Studio "Datei -> Öffnen -> Datei öffnen" die kompilierte Montage. Fügen Sie das Symbol hinzu, das Sie für Dokumente verwenden möchten, und setzen Sie seine ID auf etwas über dem, das für Ihre App verwendet wird. Speichern Sie die Baugruppe. Jetzt haben Sie Win32 -Ressourcen zur Verfügung.

-- Bearbeiten --
Nach dem Bearbeiten seines Posts scheint Zippyv eine sehr gute Antwort zu haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top