Inno Setup(如何动态获取文件路径)?

时间:2014-09-02 10:01:37

标签: path installer inno-setup dynamically-generated

我正在Inno制作一个设置脚本,我想知道,我怎么能得到非“硬编码”的路径。这是一个例子:

Image, which contains patch source

提前致谢!

SOLUTION:

您可以使用预定义变量

获取.iss文件夹
  

SOURCEPATH

用法如下:{#SourcePath} \ ??? \ bin \ x86 \ Release \ ???。exe

感谢所有贡献者!

2 个答案:

答案 0 :(得分:12)

有关source directory的参考说明(由我强调):

  

默认情况下,安装编译器需要查找脚本的[Files]部分中引用的文件源参数和引用的文件   在[Setup]部分中,脚本文件位于同一目录下   如果它们不包含完全限定的路径名​​,则找到。要指定   一个不同的源目录,在中创建一个SourceDir指令   脚本的[设置]部分。

这还包括指定文件相对路径的选项。因此,假设您具有以下文件结构,并且未在SourceDir指令中指定其他路径:

C:\Deploy\Script.iss
C:\Deploy\MyProg.exe
C:\Deploy\SubFolder\MyOtherProg.exe
C:\Folder\SomeFile.txt

现在,如果您想将MyProg.exe包含在从Script.iss脚本编译的设置中,您可以只指定不带路径的文件名,因为MyProg.exe文件是存储在与脚本相同的文件夹中,因此您只需编写:

[Files]
Source: "MyProg.exe"; DestDir: "{app}"

您可以使用MyOtherProg.exe的相对路径,该路径存储在以{1}}脚本存储的文件夹的子文件夹中:

Script.iss

您可以使用相对路径来包含存储在存储脚本的父文件夹的子文件夹中的[Files] Source: "SubFolder\MyOtherProg.exe"; DestDir: "{app}"

SomeFile.txt

有关您可以在this chapter中阅读的相对路径约定的更多信息。

答案 1 :(得分:0)

就像OP在他自己的问题中所说的那样,

  

您可以使用预定义变量获取.iss文件夹

     

<div class="container"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-body"> <div class="row"> <div class="col-md-12"> <form [formGroup]="surveyQuestionForm"> <div class="form-group"> <label class="control-label"> 1) What is the answer of 3 + 5?</label> <div class="ml-3"> <div class=" custom-radio custom-control"> <input type="checkbox" class="custom-control-input" id="q1_1" name="q1" value="1" formControlName="q1" /> <label class="custom-control-label" for="q1_1">2</label> </div> <div class=" custom-radio custom-control"> <input type="checkbox" class="custom-control-input" id="q1_2" name="q1" value="2" formControlName="q1" /> <label class="custom-control-label" for="q1_2">5</label> </div> <div class=" custom-radio custom-control"> <input type="checkbox" class="custom-control-input" id="q1_3" name="q1" value="3" formControlName="q1" /> <label class="custom-control-label" for="q1_3">7</label> </div> <div class=" custom-radio custom-control"> <input type="checkbox" class="custom-control-input" id="q1_4" name="q1" value="4" formControlName="q1" /> <label class="custom-control-label" for="q1_4">3</label> </div> <div class=" custom-radio custom-control"> <input type="checkbox" class="custom-control-input" id="q1_5" name="q1" value="5" formControlName="q1" /> <label class="custom-control-label" for="q1_5">8</label> </div> </div> </div> </form> </div> </div> </div> </div> </div> </div> </div>

     

用法类似于:‘html’ => $html