Visual Studio 2010安装项目[ProductName]

时间:2011-09-20 07:23:08

标签: visual-studio installation

C#,Visual Studio 2010

我有一个应用程序项目和一个连接到应用程序的安装项目。 在Setup projects属性中,我将ProductName属性设置为MyApp。

我在applications文件夹中有两个链接(安装项目), 一个用于启动项目,一个用于卸载

我正在使用在应用程序文件夹中创建卸载程序链接的技术 用标志和应用程序产品代码启动我的应用程序 --uninstall [ProductCode]

  1. 我不能使用[ProductName]作为启动应用程序的链接名称,为什么会这样? 如果我这样做,安装项目将在开始菜单下的应用程序文件夹中创建一个链接 使用名称[ProductName]而不是“MyApp”。

  2. 如何本地化“删除链接”,今天我将卸载程序链接命名为“删除MyApp”? 我希望有可能做这样的事情“strings.Remove [ProductName]”

  3. 是否可以将安装项目与我的MyApp项目连接起来 安装项目从MyApp项目获取应用程序名称,版本号等。 像这样 设置属性ProjectName = MyApp.properties.Application.AssemblyName

  4. /斯蒂芬


    我明白了,谢谢你的衣服

      

    为什么不使用msiexec.exe命令行

    我正在使用msiexec,我在我的应用程序App类中调用它

                sComLine = CommandLine.CL.get("uninstall"); // Check command line if the --uninstall [ProductCode] is given
                if (sComLine != null)
                {
                    string path = Environment.GetFolderPath(Environment.SpecialFolder.System);
                    System.Diagnostics.ProcessStartInfo uninstallProcess = new System.Diagnostics.ProcessStartInfo(path + System.IO.Path.DirectorySeparatorChar + "msiexec.exe", "/x " + sComLine);
                    System.Diagnostics.Process.Start(uninstallProcess);
                    System.Windows.Application.Current.Shutdown();
                }
    

1 个答案:

答案 0 :(得分:1)

  

我正在使用在中创建卸载程序链接的技术   应用程序文件夹通过启动我的应用程序与标志和   应用程序产品代码如下--uninstall [ProductCode]

为什么不使用msiexec.exe命令行?也许这个帖子会有所帮助:

In a Visual Studio setup project, How do I generate an uninstall script?

  

我无法使用[ProductName]作为启动链接的名称   申请,为什么?如果我这样做,安装项目将创建一个   在开始菜单下的应用程序文件夹中链接名称   [ProductName]而不是“MyApp”。

快捷方式名称不支持安装程序属性。这是Windows Installer中的限制。所以名称必须是硬编码的值。

  

如何本地化“删除链接”

Visual Studio不支持此功能。它只能在提供本地化支持的设置创作工具中完成。

  

是否可以将安装项目与我的MyApp项目连接起来   安装程序项目获取应用程序名称版本的方式   相反,来自MyApp项目的编号等。

不,Visual Studio不支持此功能。另请注意,您的应用程序版本可能并不总是与您的软件包版本相同。通常最好将它们分开。