ClickOnce 可以安装单个 DLL 以在终端机器上注册吗?
Can ClickOnce install a single DLL for registration on end machine?
我写了一个 DLL(带有 COM 接口),想知道我是否可以使用 ClickOnce 将它部署到最终用户机器上(使用 CreateObject("My.DllClass") 从用户 VBasic 应用程序调用。所有我为 ClickOnce 阅读的文档(以及我所做的失败尝试)似乎表明 ClickOnce 需要一个真正的应用程序(exe 等)——它不能部署单个 DLL(和一些 txt文件)并获取为 COM 在目标计算机上使用而注册的 DLL。
Q1。我的理解正确吗?
Q2。学习 Wix 安装程序是我最好的选择吗?
谢谢
Q1:是的,您的 ClickOnce 应用程序必须至少有一个可启动的可执行文件。这是最低要求。但是您可以在其中添加任何 .net 可执行文件。
Q2:Yes/no。我将尝试在这里为您描述一些事情。它会让你在你的选择中做出正确的决定。如果您要选择 ClickOnce 技术,这是我的观点。
Abbreviate: ClickOnce application = Your.dll + dotNet-Some.exe
- 首先你需要知道用户安装后位于
Users\[CurrentUser]\AppData\Local\Apps.0
的ClickOnce应用程序。您不能影响位置,因此如果您的客户端 PC 有多个用户,则第二个用户必须再次为您自己安装您的应用程序。据我所知,您的 COM 程序集必须由 regasm.exe
注册,您的 Some.exe
可以在启动时通过 regasm.exe
或某些 WinAPI
功能注册您的 dll,因此可执行文件不会这样做没用。
- 主要问题是更新过程,您必须首先跟踪您的 clickonce 内部版本号,并且对于更新操作,用户必须从此处启动您的
Some.exe
进行检查和解决方法。如果此更新过程正常,那么您需要再次 re-register 您的程序集(因为单击一次为更新的程序集添加新文件夹)并且用户将准备好使用您的 class.
对于 MSI 包,您可以完全控制安装过程,但您需要始终将此包交付给您的客户。 Wix 很好,如果您是 .NET 开发人员,请看看 WixSharp - 让您更快地创建安装程序并有很多示例
如果您不打算从 Visual Studio 发布您的 ClickOnce 应用程序,那么您可以使用 Mage.exe / MageUI.exe 来准备 ClickOnce 应用程序或使用我的构建器实用程序 second download link.
希望我说的有点用。
我写了一个 DLL(带有 COM 接口),想知道我是否可以使用 ClickOnce 将它部署到最终用户机器上(使用 CreateObject("My.DllClass") 从用户 VBasic 应用程序调用。所有我为 ClickOnce 阅读的文档(以及我所做的失败尝试)似乎表明 ClickOnce 需要一个真正的应用程序(exe 等)——它不能部署单个 DLL(和一些 txt文件)并获取为 COM 在目标计算机上使用而注册的 DLL。
Q1。我的理解正确吗? Q2。学习 Wix 安装程序是我最好的选择吗?
谢谢
Q1:是的,您的 ClickOnce 应用程序必须至少有一个可启动的可执行文件。这是最低要求。但是您可以在其中添加任何 .net 可执行文件。 Q2:Yes/no。我将尝试在这里为您描述一些事情。它会让你在你的选择中做出正确的决定。如果您要选择 ClickOnce 技术,这是我的观点。
Abbreviate: ClickOnce application = Your.dll + dotNet-Some.exe
- 首先你需要知道用户安装后位于
Users\[CurrentUser]\AppData\Local\Apps.0
的ClickOnce应用程序。您不能影响位置,因此如果您的客户端 PC 有多个用户,则第二个用户必须再次为您自己安装您的应用程序。据我所知,您的 COM 程序集必须由regasm.exe
注册,您的Some.exe
可以在启动时通过regasm.exe
或某些WinAPI
功能注册您的 dll,因此可执行文件不会这样做没用。 - 主要问题是更新过程,您必须首先跟踪您的 clickonce 内部版本号,并且对于更新操作,用户必须从此处启动您的
Some.exe
进行检查和解决方法。如果此更新过程正常,那么您需要再次 re-register 您的程序集(因为单击一次为更新的程序集添加新文件夹)并且用户将准备好使用您的 class.
对于 MSI 包,您可以完全控制安装过程,但您需要始终将此包交付给您的客户。 Wix 很好,如果您是 .NET 开发人员,请看看 WixSharp - 让您更快地创建安装程序并有很多示例
如果您不打算从 Visual Studio 发布您的 ClickOnce 应用程序,那么您可以使用 Mage.exe / MageUI.exe 来准备 ClickOnce 应用程序或使用我的构建器实用程序 second download link.
希望我说的有点用。