Inno setup Inno Setup-#define指令-如何通过字符串发出预处理器变量?
如果标题不对,我很抱歉。我会解释我的要求 我需要根据Script.values中的Inno setup Inno Setup-#define指令-如何通过字符串发出预处理器变量?,inno-setup,Inno Setup,如果标题不对,我很抱歉。我会解释我的要求 我需要根据Script.values中的AppName动态设置类id*\u CLSID。(此处“{{5c587137-edfd-4b32-952a-62bf5d10bg23}”) Sample.iss ;This can be modified by User who Build installer #define MyAppName "App1" ;This is my two Applications Class id's #define App1
AppName
动态设置类id*\u CLSID
。(此处“{{5c587137-edfd-4b32-952a-62bf5d10bg23}”
)
Sample.iss
;This can be modified by User who Build installer
#define MyAppName "App1"
;This is my two Applications Class id's
#define App1_CLSID "{{5c587137-edfd-4b32-952a-62bf5d10bg23}}"
#define App2_CLSID "{{8c583137-4dfd-4b42-962a-6234fd10bg23}}"
;CLSID name set dynamically with help of MyAppName
#define CLSID MyAppName+"_CLSID"
[Registry]
Root: HKCR; Subkey: "Application\CLSID"; ValueType: string; ValueName: ""; ValueData:{#{#CLSID}}; Flags: uninsdeletekey
我尝试了ValueData:{{{{{{{CLSID}}
将类Id设置为
ValueData:{{5c587137-edfd-4b32-952a-62bf5d10bg23}
但抛出一个错误[ISPP]表达式,应为该表达式,但找到了大括号(“{”)。
这里的{CLSID}
意味着“App1_CLSID”
。所以我认为{{CLSID}
和{App1_CLSID}
是一样的
如何解决这个问题
提前感谢..只需
ValueData:{#CLSID}
。感谢回复@TLama。但是{#CLSID}返回App1\u CLSID
。它是一个字符串。但是我需要App1\u CLSID
的值,我明白了。现在我想我明白了你的问题…你想向CLSID
变量发出App1\u CLSID
或App2\u CLSID
,这取决于MyAppName
值(用作前缀)。虽然我不相信这是可能的。您正在尝试从值中生成标识符。@TLama,是的。我在上找到了类似的查询。但它适合我。请立即查看