12
votes

Désableadvtshortcuttshortcut = 1 désactive tous les raccourcis

Nous avons une application à exécuter sur le démarrage qui permet de modifier de nombreux fichiers installés après l'installation. Nous essayons d'éteindre le mode auto-guérison en définissant le désableadvtshortcutts = 1 propriété dans ORCA. Cependant, aucun raccourci n'est créé lorsque cette propriété est définie. Toutes les informations que j'ai vues indiquent que nous devrions pouvoir créer des raccourcis "non annoncés" avec désableadvtshortcutts = 1 défini. Des idées?

J'ai vérifié que les raccourcis sont créés correctement si désableadvtshortcutts est laissé inchangé.


2 commentaires

Veuillez vérifier Cet article complet Sur la façon de résoudre les problèmes de auto-réparation cycliques . Bien que DésableadVtShortShortcutShortShortShorthorthorthorthort est un diplôme, le problème sous-jacent ne peut être résolu que si vous comprenez les causes.


Il m'a fallu pour toujours pour trouver ce message à ajouter 'Exécuter en tant qu'administrateur' à une application installée à l'aide de l'installateur de Visual Studio (Communauté de 2017). Vous devriez peut-être envisager de rendre le titre / la question un peu plus «sympathique». Mais merci d'avoir posté; @Doctor Bonzo et Will Hollebrande (désolé, alors m'arrête de vous notifier) ​​mériter des médailles.


4 Réponses :


2
votes

Vous ne pouvez pas désactiver l'auto-guérison, alors pourquoi ne pas simplement installer des raccourcis non annoncés pour commencer?

Vous ne spécifiez pas ce que vous utilisez pour créer ce package, mais avec Wix par exemple, vous ne seriez que définir raccourci / @ annonces = 'Non'

Si vous essayez de masser un package d'installation existant avec ORCA, reportez-vous à la documentation du table de raccourci . Un raccourci annoncé aura quelque chose comme productfeature dans la colonne Cible , tandis qu'un raccourci non annoncé utilisera quelque chose comme [ApplicationFolder] myapp.exe ou [# myApp.exe]


0 commentaires

21
votes

Si vous créez un projet de configuration et de déploiement dans Visual Studio 2008, il y a une astuce très lisse pour rendre vos raccourcis non annoncés:

Ajouter un panneau Textboxes dans l'éditeur d'interface utilisateur. Faites toutes les boîtes de texte invisibles. Faites l'une des propriétés 'désableadvTshortcutts' au lieu de EDITAX. Faire la valeur "1". Vos raccourcis seront non annoncés.

J'aimerais donner un crédit pour cela à qui que je l'ai volé, mais je n'arrive pas à trouver le lien d'origine.


4 commentaires

Bon petit hack. En outre, au lieu d'avoir cette boîte de dialogue supplémentaire, vous pouvez avoir cette nouvelle boîte de dialogue remplacer le bienvenue, en supprimant la boîte de dialogue Welcom et en mettant le texte approprié dans les propriétés Bannertle et Bannertext de la boîte de dialogue Nouveaux-Boîte.


Cela fonctionne bien. Bat la merde hors d'avoir à gaver l'orca


Pourquoi OH Pourquoi cela doit-il être si compliqué lorsqu'il pouvait être un paramètre dans les propriétés du projet d'installateur.


Le lien d'origine peut être POST SUR MSDN .



14
votes

Je ne sais pas si cela vous aide, mais vous pouvez essayer d'essayer: faites-le programmatiquement au lieu de manuellement.

Poste source: Windows Developer Center (via DiscutezWeb.com ) P>

" Copiez le fichier wirunsql.vbs dans votre répertoire de projet. Maintenant , dans Visual Studio 2005, sélectionnez votre projet de configuration dans l'explorateur de la solution. Sélectionnez ses propriétés. Dans la fenêtre de la propriété, ajoutez le script suivant à la propriété PostBuildevent. p>

cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')"


4 commentaires

La plus belle solution que j'ai trouvée jusqu'à présent est d'utiliser la méthode 1 décrite dans la liaison WDC ci-dessus ci-dessus, mais au lieu de modifier chaque individu .msi après sa construction, utilisez la méthode 1 pour définir la propriété dans " Common7 \ Tools \ déploiement \ vsdschema \ schema.msi ". Une fois que la propriété est définie dans "schema.msi" tous les fichiers .msi construits ultérieurement auront l'ensemble de la propriété.


Ça y est. Merci beaucoup!


@Damian Vogel tu es l'homme! Cela a fonctionné parfaitement. Étant donné ci-dessus, le fichier wirunsql.vbs ne peut pas être trouvé ici github.com/excel-dna/wixinstaller/blob/master/source/... Copiez simplement coller le code dans le bloc-notes et enregistrer avec nom wirunsql.vbs et ça fonctionnera!


Merci et à @aaronthomas pour une superbe morceau de «glaçage» qui - enfin! - m'a donné Raa sur mon application installée. J'espère seulement que je me souviens de faire ce changement si je réinstalle jamais vs!



1
votes

auto-guérison peut être difficile à déboguer et à comprendre , mais vous devez comprendre ses causes de pouvoir le gérer efficacement.

s'il vous plaît vérifier : Comment puis-je déterminer les causes de l'auto-réparation de l'installateur Windows répétées? pour un examen complet de ce problème de MSI de base. Il ne peut pas être géré de manière fiable simplement en modifiant vos raccourcis.

Voici un autre article avec Core MSI Information: Les avantages sociaux d'utiliser MSI .


0 commentaires