create c#installer - 询问快捷方式参数

时间:2016-03-30 00:45:25

标签: c# console-application nsis advanced-installer

是否可以为简单的.exe(控制台应用程序)创建一个安装程序,要求将参数传递给快捷方式?

我的应用程序需要有“源路径”和“目标路径”以及第三个可选参数...

我真的不知道我要在谷歌寻找什么(英文单词)。

另外,我需要将此快捷方式放在Startup中,这可能吗?

我看了一下nsis和高级安装程序,他们似乎不允许这个选项。

修改

我想要的是,在安装过程中,向用户询问一个问题是什么。根据哪个用户,参数将是不同的。

我也在寻找免费的东西,因为我可能永远不会再使用它了......

3 个答案:

答案 0 :(得分:0)

您可以使用nsDialogs plug-in

在NSIS中创建自定义对话框
OutFile "mysetup.exe"
RequestExecutionLevel admin
InstallDir "$ProgramFiles\MyApp"

Page Custom CustomShortcutPageCreate CustomShortcutLeave
Page InstFiles

!include nsDialogs.nsh

Var ShortcutParameter

Function CustomShortcutPageCreate
    nsDialogs::Create 1018
    Pop $0
    ${NSD_CreateLabel} 0 10u 100% 12u "Please enter the shortcut parameter"
    Pop $0
    ${NSD_CreateText} 0 30u 100% 12u ""
    Pop $9
    nsDialogs::Show
FunctionEnd

Function CustomShortcutLeave
    ${NSD_GetText} $9 $ShortcutParameter
FunctionEnd

Section
    SetOutPath $InstDir
    File MyApp.exe
SectionEnd

Section
    CreateDirectory "$SMStartup" ; Make sure the folder exists just in case the user has "cleaned" their start menu
    CreateShortcut "$SMStartup\MyApp.lnk" "$InstDir\MyApp.exe" $ShortcutParameter
SectionEnd

答案 1 :(得分:0)

我想您使用的是C#和Microsoft Visual Studio。 在这种情况下,您可以使用NSIS和Inno Setup来创建安装程序。

将任何Visual Studio版本与 Visual&安装程序扩展程序(https://visualstudiogallery.msdn.microsoft.com/5e57fe9a-ae5d-4740-a1c3-7a8e278e105b

上面提到的NSIS示例在其中完美运行(也类似于Inno安装代码)。

答案 2 :(得分:-1)

使用永久免费的Simple project type from Advanced Installer,您可以在2分钟内创建shortcut with custom arguments

只需在编辑快捷方式属性的对话框中设置参数字段中所需的参数,如下所示:

enter image description here

我不明白你想如何自定义第三个参数。你能举出更多细节吗?

参数字段中,您可以设置此类 [MY_CUSTOM_ARG] 等属性,并在安装时将属性的值解析为自定义值(当然,之前,快捷方式已安装)。

编辑使用免费/简易版的Advanced Installer,您无法自定义对话框,您只能使用对话框页面中提供的预定义对话框之一。

Dialogs Editor可作为Advanced Installer的商业企业版的一项功能。

免费的开源替代方案是使用Wix工具集,但是,如果您从未使用它,学习曲线可能很陡。