<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>インストール on kenji.blog</title><link>http://kenji.blog/fr/tags/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/</link><description>Recent content in インストール on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 30 Aug 2025 04:18:04 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/index.xml" rel="self" type="application/rss+xml"/><item><title>Permettre l'installation de msix avec un certificat auto-signé</title><link>http://kenji.blog/fr/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/</link><pubDate>Sat, 30 Aug 2025 04:18:04 +0900</pubDate><guid>http://kenji.blog/fr/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/msix%E3%81%AB%E8%87%AA%E5%B7%B1%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E3%81%A4%E3%81%91%E3%81%A6%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B/img.png" alt="Featured image of post Permettre l'installation de msix avec un certificat auto-signé" />&lt;h1 id="permettre-linstallation-de-msix-avec-un-certificat-auto-signé">Permettre l&amp;rsquo;installation de msix avec un certificat auto-signé
&lt;/h1>&lt;p>Lors de la distribution d&amp;rsquo;applications sous Windows, l&amp;rsquo;utilisation d&amp;rsquo;un &lt;strong>package MSIX&lt;/strong> est pratique car elle unifie les mécanismes d&amp;rsquo;installation et de mise à jour. Cependant, MSIX a la restriction qu&amp;rsquo;&amp;ldquo;un certificat signé est toujours requis&amp;rdquo;.
Lorsque vous souhaitez distribuer pour test une application développée par une entreprise ou un particulier, il peut y avoir des situations où &amp;ldquo;l&amp;rsquo;achat d&amp;rsquo;un certificat de signature de code commercial est exagéré&amp;rdquo;.&lt;/p>
&lt;p>C&amp;rsquo;est là qu&amp;rsquo;un &lt;strong>certificat auto-signé (Self-Signed Certificate)&lt;/strong> s&amp;rsquo;avère utile. Dans cet article, nous résumerons les étapes pour joindre un certificat auto-signé à MSIX et permettre son installation dans un environnement local.&lt;/p>
&lt;hr>
&lt;h2 id="1-créer-un-certificat-auto-signé">1. Créer un certificat auto-signé
&lt;/h2>&lt;p>Tout d&amp;rsquo;abord, démarrez PowerShell en mode administrateur et exécutez la commande suivante.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Créer&lt;/span> &lt;span class="n">un&lt;/span> &lt;span class="n">certificat&lt;/span> &lt;span class="nb">auto-signé&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">New-SelfSignedCertificate&lt;/span> &lt;span class="n">-Type&lt;/span> &lt;span class="n">CodeSigningCert&lt;/span> &lt;span class="n">-Subject&lt;/span> &lt;span class="s2">&amp;#34;CN=035A9AAC-915B-4CE1-AE39-1A101BED42F5&amp;#34;&lt;/span> &lt;span class="n">-CertStoreLocation&lt;/span> &lt;span class="n">Cert&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">CurrentUser&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">My&lt;/span> &lt;span class="n">-NotAfter&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nb">Get-Date&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="py">AddYears&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mf">10&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="n">-KeyUsage&lt;/span> &lt;span class="n">DigitalSignature&lt;/span> &lt;span class="n">-FriendlyName&lt;/span> &lt;span class="s2">&amp;#34;kenjinote&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ce qui est créé ici est un certificat pour la &amp;ldquo;signature de code&amp;rdquo;.&lt;/p>
&lt;ul>
&lt;li>Lui donner un nom facile à comprendre avec &lt;code>-FriendlyName&lt;/code> facilite sa recherche ultérieure.&lt;/li>
&lt;li>Vous pouvez ajuster la date d&amp;rsquo;expiration avec &lt;code>-NotAfter&lt;/code>. Cette fois, elle est fixée à 10 ans.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="2-exporter-le-fichier-pfx">2. Exporter le fichier PFX
&lt;/h2>&lt;p>Exportez le certificat créé au format PFX afin qu&amp;rsquo;il puisse être utilisé avec &lt;code>signtool&lt;/code>.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Créer&lt;/span> &lt;span class="n">pfx&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$cert&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">Get-ChildItem&lt;/span> &lt;span class="n">Cert&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">CurrentUser&lt;/span>&lt;span class="p">\&lt;/span>&lt;span class="n">My&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="nb">Where-Object&lt;/span> &lt;span class="p">{&lt;/span> &lt;span class="nv">$_&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="py">FriendlyName&lt;/span> &lt;span class="o">-eq&lt;/span> &lt;span class="s2">&amp;#34;kenjinote&amp;#34;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">$password&lt;/span> &lt;span class="p">=&lt;/span> &lt;span class="nb">ConvertTo-SecureString&lt;/span> &lt;span class="n">-String&lt;/span> &lt;span class="s2">&amp;#34;password&amp;#34;&lt;/span> &lt;span class="n">-Force&lt;/span> &lt;span class="n">-AsPlainText&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">Export-PfxCertificate&lt;/span> &lt;span class="n">-Cert&lt;/span> &lt;span class="nv">$cert&lt;/span> &lt;span class="n">-FilePath&lt;/span> &lt;span class="s2">&amp;#34;D:\pfx\cert.pfx&amp;#34;&lt;/span> &lt;span class="n">-Password&lt;/span> &lt;span class="nv">$password&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Le mot de passe défini à ce moment-là (dans l&amp;rsquo;exemple, &lt;code>password&lt;/code>) sera requis pour l&amp;rsquo;opération de signature ultérieure.&lt;/p>
&lt;hr>
&lt;h2 id="3-installer-le-certificat-auto-signé-dans-les-autorités-de-certification-racines-de-confiance">3. Installer le certificat auto-signé dans les Autorités de certification racines de confiance
&lt;/h2>&lt;p>Le certificat créé n&amp;rsquo;est pas approuvé par Windows tel quel. Pour l&amp;rsquo;installer, vous devez l&amp;rsquo;importer de &lt;code>certmgr.msc&lt;/code> vers &lt;strong>[Autorités de certification racines de confiance] -&amp;gt; [Certificats]&lt;/strong> .&lt;/p>
&lt;p>Si vous importez le certificat exporté ( &lt;code>.cer&lt;/code> ou &lt;code>.pfx&lt;/code> ), il sera traité comme un certificat de confiance sur le PC cible.
Cela empêche l&amp;rsquo;avertissement de &amp;ldquo;certificat non approuvé&amp;rdquo; d&amp;rsquo;apparaître même si vous signez le MSIX.&lt;/p>
&lt;hr>
&lt;h2 id="4-signer-le-programme-dinstallation-msix">4. Signer le programme d&amp;rsquo;installation (MSIX)
&lt;/h2>&lt;p>Enfin, utilisez le certificat PFX créé pour signer le MSIX. &lt;code>signtool&lt;/code> est inclus dans Visual Studio et le SDK Windows.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-powershell" data-lang="powershell">&lt;span class="line">&lt;span class="cl">&lt;span class="p">//&lt;/span> &lt;span class="n">Signer&lt;/span> &lt;span class="n">le&lt;/span> &lt;span class="n">programme&lt;/span> &lt;span class="n">d&lt;/span>&lt;span class="err">&amp;#39;&lt;/span>&lt;span class="n">installation&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">signtool&lt;/span> &lt;span class="n">sign&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">fd&lt;/span> &lt;span class="n">SHA256&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">f&lt;/span> &lt;span class="s2">&amp;#34;D:\pfx\cert.pfx&amp;#34;&lt;/span> &lt;span class="p">/&lt;/span>&lt;span class="n">p&lt;/span> &lt;span class="s2">&amp;#34;password&amp;#34;&lt;/span> &lt;span class="s2">&amp;#34;C:\installer\installer.msix&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ul>
&lt;li>&lt;code>/fd SHA256&lt;/code> spécifie l&amp;rsquo;algorithme de signature.&lt;/li>
&lt;li>Spécifiez le fichier PFX avec &lt;code>/f&lt;/code> et transmettez le mot de passe avec &lt;code>/p&lt;/code>.&lt;/li>
&lt;li>Enfin, spécifiez le chemin d&amp;rsquo;accès au fichier MSIX.&lt;/li>
&lt;li>Si le chemin d&amp;rsquo;accès à signtool n&amp;rsquo;est pas défini, spécifiez le chemin complet. Dans mon environnement, il se trouvait à l&amp;rsquo;emplacement suivant.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span class="line">&lt;span class="cl">&lt;span class="s2">&amp;#34;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\microsoft.windows.sdk.buildtools&lt;/span>&lt;span class="se">\10&lt;/span>&lt;span class="s2">.0.26100.1742&lt;/span>&lt;span class="se">\b&lt;/span>&lt;span class="s2">in&lt;/span>&lt;span class="se">\10&lt;/span>&lt;span class="s2">.0.26100.0&lt;/span>&lt;span class="se">\x64&lt;/span>&lt;span class="s2">\signtool.exe&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Cela conclut la signature et complète un MSIX qui peut être installé sur le PC cible.&lt;/p>
&lt;hr>
&lt;h2 id="résumé">Résumé
&lt;/h2>&lt;ul>
&lt;li>Créer un certificat auto-signé avec &lt;strong>New-SelfSignedCertificate&lt;/strong>&lt;/li>
&lt;li>Exporter le PFX avec &lt;strong>Export-PfxCertificate&lt;/strong>&lt;/li>
&lt;li>Installer le certificat dans les &lt;strong>Autorités de certification racines de confiance&lt;/strong>&lt;/li>
&lt;li>Signer le MSIX avec &lt;strong>signtool&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>En suivant ce flux, vous pouvez vérifier le fonctionnement et distribuer pour test dans l&amp;rsquo;environnement local sans acheter de certificat commercial.
Bien sûr, un certificat émis par une autorité de certification est essentiel pour la distribution commerciale réelle, mais cette méthode est très pratique dans les étapes de développement et de vérification.&lt;/p>
&lt;hr>
&lt;p>👉 Cette fois, nous avons utilisé installer.msix comme exemple, mais vous pouvez appliquer la même procédure à votre propre application.&lt;/p>
&lt;hr></description></item></channel></rss>