Providing SignTool configuration in Inno Setup script





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I have the following Inno Setup signing configuration:



[Setup]
SignTool=signtool $f
SignedUninstaller=yes


In Inno Setup Compiler IDE in "Tools > Configure Sign Tools..." I have:



"C:DEVELOPMENTSetupsigntool.exe" sign /f C:DEVELOPMENTSigning_Certificate.pfx /p "my_password" $f


...this works great on my local machine when I compile my Inno Setup.



However, we need to build installer automatically using TeamCity. So this all have to be automatic. And the sign tool configuration needs to be included in the script, without any need to configure anything upfront.



Is there anyway to declare my paths as variables in the actual Inno Setup script so that they are picked up in the signing wizard line above?










share|improve this question































    1















    I have the following Inno Setup signing configuration:



    [Setup]
    SignTool=signtool $f
    SignedUninstaller=yes


    In Inno Setup Compiler IDE in "Tools > Configure Sign Tools..." I have:



    "C:DEVELOPMENTSetupsigntool.exe" sign /f C:DEVELOPMENTSigning_Certificate.pfx /p "my_password" $f


    ...this works great on my local machine when I compile my Inno Setup.



    However, we need to build installer automatically using TeamCity. So this all have to be automatic. And the sign tool configuration needs to be included in the script, without any need to configure anything upfront.



    Is there anyway to declare my paths as variables in the actual Inno Setup script so that they are picked up in the signing wizard line above?










    share|improve this question



























      1












      1








      1


      1






      I have the following Inno Setup signing configuration:



      [Setup]
      SignTool=signtool $f
      SignedUninstaller=yes


      In Inno Setup Compiler IDE in "Tools > Configure Sign Tools..." I have:



      "C:DEVELOPMENTSetupsigntool.exe" sign /f C:DEVELOPMENTSigning_Certificate.pfx /p "my_password" $f


      ...this works great on my local machine when I compile my Inno Setup.



      However, we need to build installer automatically using TeamCity. So this all have to be automatic. And the sign tool configuration needs to be included in the script, without any need to configure anything upfront.



      Is there anyway to declare my paths as variables in the actual Inno Setup script so that they are picked up in the signing wizard line above?










      share|improve this question
















      I have the following Inno Setup signing configuration:



      [Setup]
      SignTool=signtool $f
      SignedUninstaller=yes


      In Inno Setup Compiler IDE in "Tools > Configure Sign Tools..." I have:



      "C:DEVELOPMENTSetupsigntool.exe" sign /f C:DEVELOPMENTSigning_Certificate.pfx /p "my_password" $f


      ...this works great on my local machine when I compile my Inno Setup.



      However, we need to build installer automatically using TeamCity. So this all have to be automatic. And the sign tool configuration needs to be included in the script, without any need to configure anything upfront.



      Is there anyway to declare my paths as variables in the actual Inno Setup script so that they are picked up in the signing wizard line above?







      inno-setup code-signing signing signtool






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 28 '18 at 7:06









      Martin Prikryl

      91.7k22183386




      91.7k22183386










      asked Nov 23 '18 at 15:08









      BazzyBazzy

      82




      82
























          1 Answer
          1






          active

          oldest

          votes


















          0














          For automatic build, you do not use Inno Setup IDE. You should use iscc command-line compiler.



          For configuring a sign tool, iscc has /S switch:



          iscc example.iss "/Ssigntool=C:DEVELOPMENTSetupsigntool.exe sign /f C:DEVELOPMENTSigning_Certificate.pfx /p my_password $f"





          share|improve this answer


























          • To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

            – Bazzy
            Nov 26 '18 at 20:29











          • [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

            – Bazzy
            Nov 26 '18 at 20:32











          • Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

            – Bazzy
            Nov 26 '18 at 20:33











          • Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

            – Bazzy
            Nov 27 '18 at 15:21











          • I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

            – Martin Prikryl
            Nov 27 '18 at 15:25














          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449048%2fproviding-signtool-configuration-in-inno-setup-script%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          For automatic build, you do not use Inno Setup IDE. You should use iscc command-line compiler.



          For configuring a sign tool, iscc has /S switch:



          iscc example.iss "/Ssigntool=C:DEVELOPMENTSetupsigntool.exe sign /f C:DEVELOPMENTSigning_Certificate.pfx /p my_password $f"





          share|improve this answer


























          • To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

            – Bazzy
            Nov 26 '18 at 20:29











          • [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

            – Bazzy
            Nov 26 '18 at 20:32











          • Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

            – Bazzy
            Nov 26 '18 at 20:33











          • Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

            – Bazzy
            Nov 27 '18 at 15:21











          • I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

            – Martin Prikryl
            Nov 27 '18 at 15:25


















          0














          For automatic build, you do not use Inno Setup IDE. You should use iscc command-line compiler.



          For configuring a sign tool, iscc has /S switch:



          iscc example.iss "/Ssigntool=C:DEVELOPMENTSetupsigntool.exe sign /f C:DEVELOPMENTSigning_Certificate.pfx /p my_password $f"





          share|improve this answer


























          • To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

            – Bazzy
            Nov 26 '18 at 20:29











          • [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

            – Bazzy
            Nov 26 '18 at 20:32











          • Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

            – Bazzy
            Nov 26 '18 at 20:33











          • Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

            – Bazzy
            Nov 27 '18 at 15:21











          • I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

            – Martin Prikryl
            Nov 27 '18 at 15:25
















          0












          0








          0







          For automatic build, you do not use Inno Setup IDE. You should use iscc command-line compiler.



          For configuring a sign tool, iscc has /S switch:



          iscc example.iss "/Ssigntool=C:DEVELOPMENTSetupsigntool.exe sign /f C:DEVELOPMENTSigning_Certificate.pfx /p my_password $f"





          share|improve this answer















          For automatic build, you do not use Inno Setup IDE. You should use iscc command-line compiler.



          For configuring a sign tool, iscc has /S switch:



          iscc example.iss "/Ssigntool=C:DEVELOPMENTSetupsigntool.exe sign /f C:DEVELOPMENTSigning_Certificate.pfx /p my_password $f"






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Nov 28 '18 at 6:49

























          answered Nov 25 '18 at 19:18









          Martin PrikrylMartin Prikryl

          91.7k22183386




          91.7k22183386













          • To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

            – Bazzy
            Nov 26 '18 at 20:29











          • [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

            – Bazzy
            Nov 26 '18 at 20:32











          • Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

            – Bazzy
            Nov 26 '18 at 20:33











          • Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

            – Bazzy
            Nov 27 '18 at 15:21











          • I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

            – Martin Prikryl
            Nov 27 '18 at 15:25





















          • To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

            – Bazzy
            Nov 26 '18 at 20:29











          • [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

            – Bazzy
            Nov 26 '18 at 20:32











          • Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

            – Bazzy
            Nov 26 '18 at 20:33











          • Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

            – Bazzy
            Nov 27 '18 at 15:21











          • I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

            – Martin Prikryl
            Nov 27 '18 at 15:25



















          To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

          – Bazzy
          Nov 26 '18 at 20:29





          To clarify a bit more, the end objective was to have the paths in declaration statement at the top of my script (modified for whatever machine the script is running on), and then use those variables in my signing code:

          – Bazzy
          Nov 26 '18 at 20:29













          [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

          – Bazzy
          Nov 26 '18 at 20:32





          [EDITIED FOR CLARTIFICATION] I have the following Inno Setup signing configuration: #define SignTool "C:DEVELOPMENTTRUNKSetupsigntool.exe" #define SignCert "C:DEVELOPMENTTRUNKSetupSW_Microsoft_Authenticode_Signing_Certificate.pfx" #define SignCertPassword "my-password"

          – Bazzy
          Nov 26 '18 at 20:32













          Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

          – Bazzy
          Nov 26 '18 at 20:33





          Based on what I just added above, you answered my question with the "custom" as $p trick....thank you very much !

          – Bazzy
          Nov 26 '18 at 20:33













          Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

          – Bazzy
          Nov 27 '18 at 15:21





          Is there anyway to have the "custom" as $p" part within the script as well ? A colleague is saying it all should be scripted, and having to touch the Inno app to create the $p variable is,,,,well, he's a picky guy.

          – Bazzy
          Nov 27 '18 at 15:21













          I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

          – Martin Prikryl
          Nov 27 '18 at 15:25







          I'm not sure I understand your use case. - If you want to have the build scripted, do not use IDE in the first place. If you want to be able to build the installer anywhere, use command-line compiler iscc.exe with its /S switch - jrsoftware.org/ishelp/index.php?topic=compilercmdline

          – Martin Prikryl
          Nov 27 '18 at 15:25






















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449048%2fproviding-signtool-configuration-in-inno-setup-script%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          這個網誌中的熱門文章

          Xamarin.form Move up view when keyboard appear

          Post-Redirect-Get with Spring WebFlux and Thymeleaf

          Anylogic : not able to use stopDelay()