Prima di tutto ciao, e grazie per le molte volte che la ricerca qui mi ha aiutato o mi ha insegnato qualcosa.L'app concorrente installa nella stessa cartella della mia, senza richiedere privilegi di amministratore
Ho creato un HUD personalizzato per un gioco che gioco e sto lavorando su un programma di installazione in C#, ispirato da un altro HUD per lo stesso gioco. Si scarica e sovrascrive tutti i file di script per la directory esistente:
C:\Program Files (x86)\Steam\steamapps\me\team fortress 2\tf
[non ho alcun controllo su quale cartella da utilizzare, purtroppo, dal momento che sto modificando i file che ha installato Valve]
In per eliminare le cartelle, aggiungere cartelle, o copiare i file, ho dovuto usare un app manifesta per aumentare le autorizzazioni utente ogni volta che viene lanciato l'exe:
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
In qualche modo, il programma di installazione mi è stato ispirato da sta installando nella stessa cartella che sono, senza forzare g un prompt UAC.
La sua applicazione mostra solo un avviso di protezione, ma se io deselezionare la casella di controllo "controllare sempre", posso farlo funzionare più e più volte, senza dover verificare eventuali permessi speciali di
http: //www.trishtech .com/img_art_a/win7_publisher_not_verified_0.jpg & gt;? ">
Qualche suggerimento su come posso fare la mia app più senza soluzione di continuità come il suo ho contattato l'autore del altra applicazione, e lui dice che è anche utilizzando C# ma non sa nulla di speciale che sta facendo per farlo funzionare
EDIT: Alcune cose che so sto facendo in modo diverso, nel caso in cui fanno la differenza in qualche modo:
- Sto utilizzando un browser di file per decidere dove mettere i miei file, quindi l'applicazione può essere eseguita da qualsiasi luogo.
- Li sta semplicemente esportando nella stessa directory dell'exe, richiedendo che l'exe sia inserito nella cartella di destinazione.
- Sto utilizzando ILMerge per raggruppare SharpZipLib con la mia app.
- Sta lasciando la DLL nel file zip accanto al file exe.
Potrebbe avere qualcosa a che fare con il reindirizzamento dei dati UAC: http://windowsteamblog.com/windows/b/developers/archive/2009/08/04/user-account-control-data-redirection.aspx – Simon
Per scrivere a 'Programmi ', è necessario elevare. Molto probabilmente l'altra applicazione non scrive in "Programmi" in realtà ma piuttosto in una virtualizzata. Controlla se i file sono realmente modificati con l'altra applicazione. Controlla anche il VirtualStore: 'C: \ Users \% USERNAME% \ AppData \ Local \ VirtualStore', le versioni _" aggiornate "dei file sono molto probabilmente in' VirtualStore'. –
Questi sono alcuni argomenti molto interessanti da esaminare, grazie – appski